class: Tools::ProjectBuilder
authorClaus Gittinger <cg@exept.de>
Tue, 06 Aug 2013 10:39:20 +0200
changeset 3042 7022b69410ab
parent 3041 380d18b00312
child 3043 457d1202c86b
class: Tools::ProjectBuilder added: #generateBuildSupportFilesByFilingOutIn:forDefinitionClass: changed: #generateSourceFilesByFilingOut
ProjectBuilder.st
--- 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'.
         ].
     ].