--- a/ProjectDefinition.st Fri Aug 18 12:28:41 2006 +0200
+++ b/ProjectDefinition.st Fri Aug 18 13:07:17 2006 +0200
@@ -95,25 +95,27 @@
!
libraryName
- ^ self libraryNameFor:self package
+ ^ self package asPackageId libraryName
"
- bosch_dapasx_datenbasis_Definition libraryName
+ bosch_dapasx_datenbasis_Definition libraryName
+ stx_libbasic3 libraryName
"
"Modified: / 09-08-2006 / 18:20:29 / fm"
- "Modified: / 17-08-2006 / 14:13:14 / cg"
+ "Modified: / 18-08-2006 / 12:36:45 / cg"
!
libraryNameFor:aProjectID
- ^ aProjectID asString copy replaceAny:':/' with:$_
+ ^ aProjectID asPackageId libraryName
"
- bosch_dapasx_datenbasis libraryName
+ bosch_dapasx_datenbasis libraryName
+ stx_libbasic3 libraryNameFor:'stx:libbasic'
"
"Modified: / 09-08-2006 / 18:20:29 / fm"
- "Modified: / 17-08-2006 / 14:13:21 / cg"
+ "Modified: / 18-08-2006 / 12:37:02 / cg"
!
module
@@ -122,23 +124,25 @@
"
bosch_dapasx_datenbasis_Definition module
DapasX_Datenbasis module
+ stx_libbasic3 module
"
"Created: / 08-08-2006 / 20:24:53 / fm"
"Modified: / 09-08-2006 / 16:16:37 / fm"
- "Modified: / 17-08-2006 / 14:13:28 / cg"
+ "Modified: / 17-08-2006 / 20:50:46 / cg"
!
moduleDirectory
- ^ self moduleDirectoryFor:self package
+ ^ (PackageId from:self package) directory
"
- bosch_dapasx_datenbasis_Definition moduleDirectory
- bosch_dapasx_parameter_system_Definition moduleDirectory
+ bosch_dapasx_datenbasis_Definition moduleDirectory
+ bosch_dapasx_parameter_system_Definition moduleDirectory
+ stx_libbasic3 moduleDirectory
"
"Created: / 08-08-2006 / 20:25:39 / fm"
- "Modified: / 17-08-2006 / 14:13:36 / cg"
+ "Modified: / 18-08-2006 / 12:18:33 / cg"
!
moduleDirectoryFor:aProjectID
@@ -368,112 +372,358 @@
!ProjectDefinition class methodsFor:'description'!
+postLoadAction
+ "invoked after loading a project"
+
+ "/ intentionally left blank
+
+ "Created: / 08-08-2006 / 11:07:40 / fm"
+ "Modified: / 17-08-2006 / 19:59:17 / cg"
+!
+
+preRequisites
+ "list packages which are required as a prerequisite. This method is generated automatically,
+ by searching along the inheritance chain of all of my classes.
+ However, when generating automatically, packages are only added - never removed, unless listed
+ in excludedFromPreRequisites."
+
+ ^ #()
+
+ "Modified: / 17-08-2006 / 19:54:21 / cg"
+!
+
+preUnloadAction
+ "invoked before unloading a project"
+
+ "/ intentionally left blank
+
+ "Created: / 08-08-2006 / 11:07:40 / fm"
+ "Modified: / 17-08-2006 / 19:59:26 / cg"
+!
+
+subProjects
+ "list packages which are known as subprojects. This method is generated automatically.
+ However, when generating automatically, packages are only added - never removed, unless listed
+ in excludedFromSubProjects."
+
+ ^ #()
+
+ "Modified: / 17-08-2006 / 19:57:46 / cg"
+! !
+
+!ProjectDefinition class methodsFor:'description - classes'!
+
autoloaded_classNames
"classes listed here will NOT be compiled, but remain autoloaded.
- (i.e. excluded from the build process). Can be user-defined in my subclasses"
+ (i.e. excluded from the build process).
+ A corresponding method is generated for real descriptions."
- ^#()
+ ^ self subclassResponsibility
"Created: / 07-08-2006 / 19:02:57 / fm"
"Modified: / 07-08-2006 / 21:25:25 / fm"
- "Modified: / 17-08-2006 / 08:48:13 / cg"
-!
-
-classNames
- "this is a stupid default, a correponding method with real names
- is generated in my subclasses"
-
- ^#()
-
- "Created: / 07-08-2006 / 19:02:57 / fm"
- "Modified: / 07-08-2006 / 21:25:25 / fm"
+ "Modified: / 17-08-2006 / 20:47:59 / cg"
!
compiled_classNames
- "this is a stupid default, a correponding method with real names
- is generated in my subclasses"
+ "a correponding method with real names is generated in my subclasses"
+
+ ^ self subclassResponsibility
- ^#()
+ "Created: / 07-08-2006 / 19:02:57 / fm"
+ "Modified: / 07-08-2006 / 21:25:25 / fm"
+ "Modified: / 17-08-2006 / 20:47:20 / cg"
+!
+
+excluded_classNames
+ "list names of classes to be excluded from the build process.
+ A correponding method with real names is generated in my subclasses"
+
+ self subclassResponsibility
"Created: / 07-08-2006 / 19:02:57 / fm"
"Modified: / 07-08-2006 / 21:25:25 / fm"
+ "Modified: / 17-08-2006 / 20:49:24 / cg"
!
-compiled_classes
- ^ self compiled_classNames collect:[:eachName| (Smalltalk at:eachName asSymbol)]
+extensionMethodNames
+ "list class/selector pairs of extensions.
+ A correponding method with real names is generated in my subclasses"
+
+ self subclassResponsibility
+
+ "Modified: / 17-08-2006 / 20:49:51 / cg"
+! !
+
+!ProjectDefinition class methodsFor:'description - compilation'!
- "Created: / 09-08-2006 / 16:28:15 / fm"
- "Modified: / 09-08-2006 / 18:02:28 / fm"
+stcOptimizationOptions
+ "see the stc reference / stc usage for options.
+ For now, the following variants are useful:
+ +optspace3 most compact code
+ - use for all gui, application code.
+
+ +optinline +inlineNew fastest code
+ - use only for computation-intensive classes"
+
+ ^ '+optspace3'
+
+ "/ ^ '+optinline +inlineNew'
+
+ "Created: / 18-08-2006 / 12:50:27 / cg"
!
-compiled_classesDo:aBlock
- self compiled_classes do:aBlock.
+stcWarningOptions
+ "see the stc reference / stc usage for options.
+ For now, the following variants are useful:
+ -warn no warnings
+ -warnNonStandard no warnings about non-standard smalltalk features"
+
+ ^ ''
+
+ "Created: / 18-08-2006 / 12:51:38 / cg"
+! !
- "Created: / 09-08-2006 / 16:28:15 / fm"
- "Modified: / 09-08-2006 / 18:02:28 / fm"
+!ProjectDefinition class methodsFor:'description - project information'!
+
+companyName
+ "Returns a company string which will appear in <lib>.rc"
+
+ self module = 'stx' ifTrue:[
+ ^ 'eXept Software AG'
+ ].
+
+ ^ 'My Company'
+
+ "Modified: / 17-08-2006 / 21:35:44 / cg"
!
description
-"Returns a description string which will appear in nt.def and in the files info inside it's properties "
+ "Returns a description string which will appear in nt.def / bc.def"
-^''
+ self subclassResponsibility
"Created: / 08-08-2006 / 11:15:01 / fm"
+ "Modified: / 17-08-2006 / 20:53:34 / cg"
+!
+
+fileDescription
+ "Returns a description string which will appear in libName.rc"
+
+ ^self productName,' ', self packageName
+
+ "Modified: / 17-08-2006 / 20:27:07 / cg"
+!
+
+fileMajorVersionNr
+ "Returns a versionNumber which will appear in libName.rc"
+
+ "must be manually maintained - bump, whenever incompatibilities
+ with the st/x runtime are introduced"
+
+ ^ Smalltalk majorVersionNr printString
+
+ "Created: / 18-08-2006 / 12:03:32 / cg"
+!
+
+fileMinorVersionNr
+ "Returns a versionNumber which will appear in libName.rc"
+
+ "take the minor from the cvs-version"
+
+ ^ self cvsRevision first
+
+ "Created: / 18-08-2006 / 12:03:13 / cg"
+!
+
+fileReleaseNr
+ "Returns a releaseNumber which will appear in libName.rc"
+
+ ^ '1'
+
+ "Created: / 18-08-2006 / 12:02:58 / cg"
!
-excluded_classNames
- "this is a stupid default, a correponding method with real names
- to be excluded from the build process can be user-defined in my subclasses"
+fileRevisionNr
+ "Returns a revisionNumber which will appear in libName.rc"
- ^#()
+ "take the revision from the cvs-version"
- "Created: / 07-08-2006 / 19:02:57 / fm"
- "Modified: / 07-08-2006 / 21:25:25 / fm"
+ ^ self cvsRevision last
+
+ "Created: / 18-08-2006 / 12:02:39 / cg"
!
-extensionMethodNames
+fileVersion
+ "Returns a fileVersion string which will appear in libName.rc"
+
+ "<major>.<minor>.<rev>.<rel> (such as '1.2.17.1') "
+
+ ^ self fileMajorVersionNr
+ , '.'
+ , self fileMinorVersionNr
+ , '.'
+ , self fileRevisionNr
+ , '.'
+ , self fileReleaseNr
+
+ "
+ self fileVersion
+ "
+
+ "Modified: / 18-08-2006 / 12:06:21 / cg"
+!
- ^#()
+fileVersionCommaSeparated
+ "Returns a fileVersion string which will appear in libName.rc"
+
+ "<major>,<minor>,0,0 (such as '2,17,0,0') "
- "Created: / 08-08-2006 / 11:07:08 / fm"
+ ^ self majorFileVersionNr
+ , ','
+ , self minorFileVersionNr
+ , ','
+ , '0'
+ , ','
+ , '0'
+
+ "Created: / 17-08-2006 / 20:16:17 / cg"
+!
+
+internalName
+ "Returns a name string which will appear in libName.rc"
+
+ ^self packageName
+
+ "Modified: / 17-08-2006 / 20:27:37 / cg"
!
-postLoadAction
- "raise an error: must be redefined in concrete subclass(es)"
+legalCopyright
+ "Returns a copyright string which will appear in libName.rc"
+
+ self module = 'stx' ifTrue:[
+
+ ^ 'Copyright eXept Software AG 1998-',(Date today year printString)
+ ].
+
+ ^ 'My CopyRight or CopyLeft'
+
+ "Modified: / 17-08-2006 / 21:39:44 / cg"
+!
+
+majorVersionNr
+ "Returns a versionNumber which will appear in libName.rc"
+
+ "<major>.<minor>.<revision>.<release> (such as '5.3.2.1')
+ the default here takes smalltalks version number.
+ But thats probably not good for an end-user-app."
+
+ ^ Smalltalk majorVersionNr
+
+ "Created: / 17-08-2006 / 20:20:18 / cg"
+!
+
+minorVersionNr
+ "Returns a versionNumber which will appear in libName.rc"
- ^ self subclassResponsibility
+ "<major>.<minor>.<revision>.<release> (such as '5.3.2.1')
+ the default here takes smalltalks version number.
+ But thats probably not good for an end-user-app."
+
+ ^ Smalltalk minorVersionNr
+
+ "Created: / 17-08-2006 / 20:20:32 / cg"
+!
+
+productDate
+ "Returns a product-date string which will appear in libName.rc"
+
+ "take the current date - by default"
- "Created: / 08-08-2006 / 11:07:40 / fm"
+ ^ Timestamp now printStringRFC1123Format
+
+ "Created: / 17-08-2006 / 20:17:28 / cg"
+!
+
+productName
+ "Returns a product name which will appear in libName.rc"
+
+ self module = 'stx' ifTrue:[
+ ^ 'Smalltalk/X'
+ ].
+
+ ^ 'My Product'
+
+ "Modified: / 17-08-2006 / 21:36:52 / cg"
!
-preUnloadAction
- "raise an error: must be redefined in concrete subclass(es)"
+productVersion
+ "Returns a product version which will appear in libName.rc"
+
+ "<major>.<minor>.<revision>.<release> (such as '5.3.2.1')"
- ^ self subclassResponsibility
+ ^ self majorVersionNr printString
+ , '.'
+ , self minorVersionNr printString
+ , '.'
+ , self revisionNr printString
+ , '.'
+ , self releaseNr printString
- "Created: / 08-08-2006 / 11:07:40 / fm"
+ "
+ self productVersion
+ "
+
+ "Modified: / 18-08-2006 / 12:07:02 / cg"
!
-prerequisiteProjects
+productVersionCommaSeparated
+ "Returns a product version which will appear in libName.rc"
+
+ "<major>.<minor>.<revision>.<release> (such as '0,1,1,1') "
- ^#()
+ ^ self majorVersionNr printString
+ , ','
+ , self minorVersionNr printString
+ , ','
+ , self revisionNr printString
+ , ','
+ , self releaseNr printString
- "Created: / 08-08-2006 / 21:17:34 / fm"
+ "Created: / 17-08-2006 / 20:13:32 / cg"
!
-subProjects
+releaseNr
+ "Returns a releaseNr which will appear in libName.rc"
+
+ "<major>.<minor>.<revision>.<release> (such as '5.3.2.1')
+ the default here takes smalltalks version number.
+ But thats probably not good for an end-user-app."
+
+ ^ Smalltalk releaseNr
- ^#()
+ "Created: / 17-08-2006 / 20:20:51 / cg"
+!
+
+revisionNr
+ "Returns a revisionNr which will appear in libName.rc"
- "Created: / 08-08-2006 / 11:08:23 / fm"
+ "<major>.<minor>.<revision>.<release> (such as '5.3.2.1')
+ the default here takes smalltalks version number.
+ But thats probably not good for an end-user-app."
+
+ ^ Smalltalk revisionNr
+
+ "Created: / 17-08-2006 / 20:20:40 / cg"
!
versionNumber
-"Returns a version string which will appear in nt.def and in the files info inside it's properties "
+ "Returns a version string which will appear in nt.def "
-^''
+ ^''
"Created: / 08-08-2006 / 11:35:52 / fm"
+ "Modified: / 17-08-2006 / 19:46:29 / cg"
! !
!ProjectDefinition class methodsFor:'file generation'!
@@ -520,6 +770,9 @@
filename = 'Make.spec' ifTrue:[
^ self generate_make_dot_spec
].
+ filename = 'Make.proto' ifTrue:[
+ ^ self generate_make_dot_proto
+ ].
filename = 'bc.def' ifTrue:[
^ self generate_bc_dot_def
].
@@ -529,7 +782,12 @@
filename = 'modules.stx' ifTrue:[
^ self generate_modules_dot_stx
].
+ filename = 'lib.rc' ifTrue:[
+ ^ self generate_packageName_dot_rc
+ ].
self halt.
+
+ "Modified: / 18-08-2006 / 13:06:04 / cg"
!
generate_abbrev_dot_stc
@@ -582,6 +840,14 @@
"Modified: / 09-08-2006 / 11:30:42 / fm"
!
+generate_bmake_dot_mak
+
+ ^self replaceMappings: self bmake_dot_mak_mappings
+ in: self bmake_dot_mak
+
+ "Created: / 17-08-2006 / 20:03:43 / cg"
+!
+
generate_libInit_dot_cc
^self replaceMappings: self libInit_dot_cc_mappings
@@ -676,25 +942,41 @@
"
bosch_dapasx_datenbasis generate_packageName_dot_rc
bosch_dapasx_hw_schnittstellen generate_packageName_dot_rc
+ stx_libbasic3 generate_packageName_dot_rc
"
"Modified: / 09-08-2006 / 11:31:09 / fm"
- "Modified: / 11-08-2006 / 14:01:56 / cg"
+ "Modified: / 17-08-2006 / 19:39:03 / cg"
! !
!ProjectDefinition class methodsFor:'file templates'!
+bmake_dot_mak
+ "the template code for the bmake.bat file"
+
+ ^
+'make.exe -N -f nt.mak %1 %2
+'
+
+ "Created: / 17-08-2006 / 20:04:14 / cg"
+!
+
packageName_dot_rc
+ "the template code for the <libName>.rc file"
^
-'VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,1,1,1
- PRODUCTVERSION 0,1,1,1
+'//
+// DO NOT EDIT
+// automagically generated from the projectDefinition: ',self name,'.
+//
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION %(FILE_VERSION_COMMASEPARATED)
+ PRODUCTVERSION %(PRODUCT_VERSION_COMMASEPARATED)
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
FILEOS VOS_NT_WINDOWS32
- FILETYPE VFT_DLL
+ FILETYPE %(FILETYPE)
FILESUBTYPE VS_USER_DEFINED
BEGIN
@@ -709,6 +991,7 @@
VALUE "LegalCopyright", "%(LEGAL_COPYRIGHT)\0"
VALUE "ProductName", "%(PRODUCT_NAME)\0"
VALUE "ProductVersion", "%(PRODUCT_VERSION)\0"
+ VALUE "ProductDate", "%(PRODUCT_DATE)\0"
END
END
@@ -719,21 +1002,18 @@
END
END
'
-
+ "
+ stx_libbasic3 packageName_dot_rc
+ stx_libbasic3 generate_packageName_dot_rc
+ "
"Created: / 08-08-2006 / 19:31:29 / fm"
"Modified: / 09-08-2006 / 15:10:57 / fm"
+ "Modified: / 17-08-2006 / 20:32:19 / cg"
! !
!ProjectDefinition class methodsFor:'loading'!
-load
- self loadExtensions.
- self loadAllClasses.
-
- "Created: / 17-08-2006 / 01:01:41 / cg"
-!
-
loadAllClasses
|loadedClasses|
@@ -794,6 +1074,40 @@
"Created: / 09-08-2006 / 11:17:59 / fm"
!
+bmake_dot_mak_mappings
+ ^ (Dictionary new)
+ yourself
+
+ "Created: / 17-08-2006 / 21:41:56 / cg"
+!
+
+make_dot_spec_mappings
+ ^ Dictionary new
+ at: #'TAB' put: ( Character tab asString );
+ at: #'MODULE' put: ( self module );
+ at: #'MODULE_DIRECTORY' put: ( self moduleDirectory );
+ at: #'STCWARNINGOPTIONS' put: (self stcWarningOptions);
+ at: #'STCOPTIMIZATIONOPTIONS' put: (self stcOptimizationOptions);
+ yourself
+
+ "Created: / 18-08-2006 / 11:44:23 / cg"
+ "Modified: / 18-08-2006 / 12:53:09 / cg"
+!
+
+nt_dot_mak_mappings
+ |d|
+
+ d := Dictionary new.
+ d
+ at: #'TAB' put: ( Character tab asString );
+ at: #'TOP' put: ( self msdosPathToTop );
+ at: #'MODULE' put: ( self module );
+ at: #'MODULE_DIRECTORY' put: ( self moduleDirectory ).
+ ^ d
+
+ "Created: / 18-08-2006 / 11:43:39 / cg"
+!
+
packageName_dot_rc_mappings
^Dictionary new
@@ -804,9 +1118,15 @@
at: #'LEGAL_COPYRIGHT' put: [self legalCopyright];
at: #'PRODUCT_NAME' put: [self productName];
at: #'PRODUCT_VERSION' put: [self productVersion];
+ at: #'PRODUCT_DATE' put: [self productDate];
+
+ at: #'FILETYPE' put: [ 'VFT_DLL' ];
+ at: #'FILE_VERSION_COMMASEPARATED' put: [self fileVersionCommaSeparated];
+ at: #'PRODUCT_VERSION_COMMASEPARATED' put: [self productVersionCommaSeparated];
yourself
"Created: / 09-08-2006 / 11:21:21 / fm"
+ "Modified: / 17-08-2006 / 21:38:35 / cg"
!
replaceMappings: mappings in: fileTemplate
@@ -822,34 +1142,38 @@
"Modified: / 08-08-2006 / 12:46:13 / fm"
! !
-!ProjectDefinition class methodsFor:'project information'!
+!ProjectDefinition class methodsFor:'private'!
-companyName
- ^'eXept Software AG'
+compiled_classes
+ ^ self compiled_classNames collect:[:eachName| (Smalltalk at:eachName asSymbol)]
+
+ "Created: / 09-08-2006 / 16:28:15 / fm"
+ "Modified: / 09-08-2006 / 18:02:28 / fm"
!
-fileDescription
- ^self productName,' ', self packageName
-!
+compiled_classesDo:aBlock
+ self compiled_classes do:aBlock.
-fileVersion
- ^self revision ? '0.1.1.1'
+ "Created: / 09-08-2006 / 16:28:15 / fm"
+ "Modified: / 09-08-2006 / 18:02:28 / fm"
!
-internalName
- ^self packageName
-!
+cvsRevision
+ |rev|
-legalCopyright
- ^'Copyright eXept Software AG 2006 (until payment)'
-!
+ rev := self revision.
+ rev isNil ifTrue:[
+ "not yet pubplished"
+ ^ #( '0' '1' )
+ ].
+ ^ rev asCollectionOfSubstringsSeparatedBy:$. .
-productName
- ^'Product Name'
-!
+ "
+ self cvsRevision
+ stx_libbasic3 cvsRevision
+ "
-productVersion
- ^'0.1.1.1'
+ "Created: / 17-08-2006 / 20:19:03 / cg"
! !
!ProjectDefinition class methodsFor:'queries'!
@@ -955,6 +1279,22 @@
"Modified: / 16-08-2006 / 18:58:29 / User"
!
+description_code
+ |generatedString |
+
+ ^ String streamContents:[:s |
+ s nextPutLine:'description'.
+ s nextPutLine:' "Return a description string which will appear in nt.def / bc.def"'.
+ s nextPutLine:' ^ ''My Project'''.
+ ].
+
+ "
+ self description_code
+ "
+
+ "Created: / 17-08-2006 / 21:24:01 / cg"
+!
+
inconsistency:message
Dialog warn:message
@@ -966,27 +1306,16 @@
"Created: / 09-08-2006 / 16:32:31 / fm"
!
-searchForClassesNamesWithProject
-
- ^self searchForClassesWithProject collect:[:each | each name].
-
-"
- self searchForClassesNamesWithProject
-"
-
- "Created: / 07-08-2006 / 21:37:06 / fm"
-!
-
-searchForClassesWithProject
+searchForClasses
^self searchForClassesWithProject: self package
-"
- self searchForClassesWithProject
-"
+ "
+ self searchForClasses
+ "
- "Created: / 07-08-2006 / 20:42:39 / fm"
"Modified: / 07-08-2006 / 21:56:25 / fm"
+ "Created: / 17-08-2006 / 21:18:30 / cg"
!
searchForClassesWithProject: aProjectID
@@ -1005,7 +1334,23 @@
"Modified: / 16-08-2006 / 18:50:48 / User"
!
-searchForExtensionsForProject:aProjectID
+searchForExtensions
+ ^ self searchForExtensionsWithProject:self package
+
+"
+ self searchForExtensions
+ DapasXProject searchForExtensions
+ DapasX_Datenbasis searchForExtensions
+"
+
+ "Modified: / 09-08-2006 / 13:01:26 / fm"
+ "Created: / 17-08-2006 / 21:17:46 / cg"
+!
+
+searchForExtensionsWithProject:aProjectID
+ "search for any class which has extensions from aProjectID.
+ Return the extension-methods"
+
|methods|
methods := IdentitySet new.
@@ -1015,32 +1360,20 @@
classPackage := eachClass package.
eachClass instAndClassMethodsDo:[:mthd |
mthd package ~= classPackage ifTrue:[
- mthd package == aProjectID ifTrue:[
+ mthd package = aProjectID ifTrue:[
methods add:mthd
]
].
].
].
^ methods
-"
- self searchForExtensionsForProject:#'bosch:dapasx'
-"
-
- "Created: / 07-08-2006 / 22:03:55 / fm"
-!
-
-searchForExtensionsWithProject
- ^ self searchForExtensionsForProject:self package
-"
- self searchForExtensionsWithProject
- DapasXProject searchForExtensionsWithProject
- DapasX_Datenbasis searchForExtensionsWithProject
+ "
+ self searchForExtensionsWithProject:#'bosch:dapasx'
+ self searchForExtensionsWithProject:#'cg:oyster'
+ "
-"
-
- "Created: / 07-08-2006 / 21:03:10 / fm"
- "Modified: / 09-08-2006 / 13:01:26 / fm"
+ "Created: / 17-08-2006 / 21:19:04 / cg"
!
searchForProjectsWhichProvideHeaderFiles
@@ -1073,5 +1406,5 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.12 2006-08-17 15:24:39 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.13 2006-08-18 11:07:17 cg Exp $'
! !