class: Tools::ProjectBuilder
added: #generateBuildSupportFilesByFilingOutIn:forDefinitionClass:
changed: #generateSourceFilesByFilingOut
--- a/ProjectBuilder.st Mon Aug 05 21:17:05 2013 +0200
+++ b/ProjectBuilder.st Tue Aug 06 10:39:20 2013 +0200
@@ -746,6 +746,22 @@
"Modified: / 15-08-2011 / 14:58:46 / cg"
!
+generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:projectDefinitionClass
+ |fullPathName|
+
+ projectDefinitionClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
+ fullPathName := packageTargetDir construct:fileName.
+ fullPathName directory exists ifFalse:[
+ "take care for files like 'autopackage/default.apspec'"
+ fullPathName directory makeDirectory.
+ ].
+ (fullPathName exists
+ and:[ fullPathName contents = fileContents ]) ifFalse:[
+ fullPathName contents:fileContents.
+ ].
+ ].
+!
+
generateSourceFiles
(self isLocalBuild not and:[ sourceCodeManager notNil ]) ifTrue:[
"/ check out / generate files there
@@ -805,8 +821,6 @@
"/ local build
"/ fileout the project
- |fullPathName|
-
(package module ~= 'stx') ifTrue:[
(buildDirectory / package module) makeDirectory.
].
@@ -865,21 +879,11 @@
"/ cls fileOutIn:packageTargetDir
"/ ]
"/ ].
-
- projectDefinitionClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
- fullPathName := packageTargetDir construct:fileName.
- fullPathName directory exists ifFalse:[
- "take care for files like 'autopackage/default.apspec'"
- fullPathName directory makeDirectory.
- ].
- (fullPathName exists
- and:[ fullPathName contents = fileContents ]) ifFalse:[
- fullPathName contents:fileContents.
- ].
- ].
+ self generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:projectDefinitionClass.
].
self makeQuick ifFalse:[
- "/ generate header files in prerequisite packages...
+ "/ generate header files and build support files
+ "/ in prerequisite packages...
(projectDefinitionClass allPreRequisites)
do:[:eachPackageToFileout |
|packageId packageDef packageModule packageDirectory packageTargetDir|
@@ -905,6 +909,8 @@
].
].
self copyResourcesForPackage:eachPackageToFileout.
+ self generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:packageDef.
+ (packageTargetDir / '.NOSOURCE') contents:'existence of this file suppresses compilation of st files'.
].
].