FolderForProjectsDefinition.st
changeset 16681 1cdbdec88e4c
child 17040 6d4341530f00
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FolderForProjectsDefinition.st	Thu Jul 03 20:31:49 2014 +0200
@@ -0,0 +1,290 @@
+"
+ COPYRIGHT (c) 2014 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+ProjectDefinition subclass:#FolderForProjectsDefinition
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'System-Support-Projects'
+!
+
+!FolderForProjectsDefinition class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2014 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!FolderForProjectsDefinition class methodsFor:'code generation'!
+
+forEachContentsMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition
+    "generate code for each contents-specifying method
+     (classesAndAttributes, extensionMethodNames, etc.),
+     and evaluate aTwoArgBlock on it, passing in the code and the method's category.
+     If ignoreOldDefinition is true, new code is generated (class/method scan);
+     otherwise, new items are added to the existing lists"
+
+    "/ JV:  No, subProjects **should not** be automatically generated.
+    "/      Remember, they are not required to be loaded!! So, generate
+    "/      subProjects only if there's no such method yet.
+    (self class methodDictionary includesKey: #subProjects) ifFalse:[
+        aTwoArgBlock
+            value: self subProjects_code
+            value: 'description'.
+    ].
+!
+
+forEachDescriptionMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition
+    "generate code for each descriptin-specifying method"
+
+    "/ intentionally left blank
+! !
+
+!FolderForProjectsDefinition class methodsFor:'description - project information'!
+
+productType
+    "Returns the product type for autopackage"
+
+    ^ 'Folder'
+! !
+
+!FolderForProjectsDefinition class methodsFor:'file templates'!
+
+bc_dot_mak
+    "answer a template for the bc.mak makefile.
+     Any variable definition %(Variable) will be later replaced by the mapping.
+     $% characters have to be duplicated"
+
+^
+'# $','Header','$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: ',self name",' at ',Timestamp now printString",'.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# Notice, that the name bc.mak is historical (from times, when only borland c was supported).
+# This file contains make rules for the win32 platform using either borland-bcc or visual-c.
+# It shares common definitions with the unix-make in Make.spec.
+# The bc.mak supports the following targets:
+#    bmake         - compile all st-files to a classLib (dll)
+#    bmake clean   - clean all temp files
+#    bmake clobber - clean all
+#
+# Historic Note:
+#  this used to contain only rules to make with borland
+#    (called via bmake, by "make.exe -f bc.mak")
+#  this has changed; it is now also possible to build using microsoft visual c
+#    (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
+#
+TOP=%(TOP)
+INCLUDE_TOP=$(TOP)\..
+
+!!INCLUDE $(TOP)\rules\stdHeader_bc
+
+!!INCLUDE Make.spec
+
+%(ADDITIONAL_DEFINITIONS)
+
+OBJS=
+
+ALL:: %(ADDITIONAL_TARGETS) 
+
+!!INCLUDE $(TOP)\rules\stdRules_bc
+
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
+%(MAKE_PREREQUISITES)
+
+
+%(ADDITIONAL_RULES)
+
+%(ADDITIONAL_HEADERRULES)
+
+test: $(TOP)\goodies\builder\reports\NUL
+        pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
+        $(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
+
+clean::
+        del *.$(CSUFFIX)
+
+%(ADDITIONAL_RULES_HG)'
+!
+
+make_dot_proto
+
+^
+'# $','Header','$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: ',self name",' at ',Timestamp now printString",'.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# The Makefile as generated by this Make.proto supports the following targets:
+#    make         - compile all st-files to a classLib
+#    make clean   - clean all temp files
+#    make clobber - clean all
+#
+# This file contains definitions for Unix based platforms.
+# It shares common definitions with the win32-make in Make.spec.
+
+#
+# position (of this package) in directory hierarchy:
+# (must point to ST/X top directory, for tools and includes)
+TOP=%(TOP)
+INCLUDE_TOP=$(TOP)/..
+
+# subdirectories where targets are to be made:
+SUBDIRS=%(SUBDIRECTORIES)
+
+
+# subdirectories where Makefiles are to be made:
+# (only define if different from SUBDIRS)
+# ALLSUBDIRS=
+
+REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS)
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C targets or libraries should be added below
+LOCAL_EXTRA_TARGETS=
+
+OBJS=
+
+%(ADDITIONAL_DEFINITIONS)
+
+all:: preMake %(PRIMARY_TARGET) postMake
+
+pre_objs:: %(ADDITIONAL_TARGETS) %(ADDITIONAL_TARGETS_SVN)
+
+%(ADDITIONAL_RULES)
+
+%(ADDITIONAL_RULES_SVN)
+
+%(ADDITIONAL_RULES_HG)
+
+%(ADDITIONAL_HEADERRULES)
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+        $(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
+        $(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
+
+# add more install actions here
+install::
+
+# add more install actions for aux-files (resources) here
+installAux::
+
+# add more preMake actions here
+preMake::
+
+# add more postMake actions here
+postMake:: cleanjunk
+
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
+%(MAKE_PREREQUISITES)
+
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+%(MAKE_REFERENCES)
+
+cleanjunk::
+%(TAB)-rm -f *.s *.s2
+
+clean::
+%(TAB)-rm -f *.o *.H
+
+clobber:: clean
+%(TAB)-rm -f *.so *.dll
+
+',
+"
+$(INSTALLBASE)::
+%(TAB)@test -d $@ || mkdir $@
+
+$(INSTALLBASE)/packages:: $(INSTALLBASE)
+%(TAB)@test -d $@ || mkdir $@
+
+$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages
+%(TAB)@test -d $@ || mkdir $@
+
+$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE)
+%(TAB)@test -d $@ || mkdir $@
+"
+'
+'
+!
+
+make_dot_spec
+
+^
+'# $','Header','$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: ',self name,"' at ',Timestamp now printString,"'.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# This file contains specifications which are common to all platforms.
+#
+
+# Do NOT CHANGE THESE DEFINITIONS
+# (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
+#  to find the source code of a class and to find the library for a package)
+MODULE=%(MODULE)
+MODULE_DIR=%(MODULE_DIRECTORY)
+PACKAGE=$(MODULE):$(MODULE_DIR)
+'
+! !
+
+!FolderForProjectsDefinition class methodsFor:'queries'!
+
+isAbstract
+    ^ self == FolderForProjectsDefinition
+!
+
+isFolderForProjectsDefinition
+    ^ self isAbstract not
+!
+
+projectType
+    ^ FolderForSubApplicationsType
+! !
+
+!FolderForProjectsDefinition class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/FolderForProjectsDefinition.st,v 1.1 2014-07-03 18:31:49 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic/FolderForProjectsDefinition.st,v 1.1 2014-07-03 18:31:49 cg Exp $'
+! !
+