changed:
authorClaus Gittinger <cg@exept.de>
Tue, 20 Oct 2009 00:03:57 +0200
changeset 2628 57b363325368
parent 2627 07d40cde2ac9
child 2629 61f3f3a13b9e
changed: #buildWithOutputTo:errorTo: #generateSourceFilesByFilingOut
ProjectBuilder.st
--- a/ProjectBuilder.st	Mon Oct 19 14:38:12 2009 +0200
+++ b/ProjectBuilder.st	Tue Oct 20 00:03:57 2009 +0200
@@ -143,12 +143,17 @@
     mySTXTopDirectory := myTopDirectory / 'stx'.
 
     self setupBuildDirectory.
+    self activityNotification:'Generating stc directory...'.
     self copySTCDirectoryForBuild.
+    self activityNotification:'Generating source files...'.
     self generateSourceFiles.
+    self activityNotification:'Generating dlls for linkage...'.
     self copyDLLsForLinkage.
+    self activityNotification:'Generating support files for linkage...'.
     self copySupportFilesForLinkage.
     self copyStartupFilesFromSmalltalk.
 
+    self activityNotification:'Executing make...'.
     self makeWithOutputTo:stdOut errorTo:stdErr.
 !
 
@@ -442,11 +447,20 @@
         packageDef := packageId projectDefinitionClass.
         (packageDef compiled_classNames_common ,
         packageDef compiled_classNamesForPlatform) do:[:eachClassName |
-            |cls|
+            |cls fileName newSource|
 
             cls := Smalltalk classNamed:eachClassName.
             self assert:cls isLoaded.
-            cls fileOutIn:packageTargetDir
+            fileName := (Smalltalk fileNameForClass:cls),'.st'.
+            fileName := packageTargetDir asFilename construct:fileName.
+            fileName exists ifTrue:[
+                newSource := String streamContents:[:s | cls fileOutOn:s withTimeStamp:false].
+                newSource = fileName contentsAsString ifFalse:[
+                    fileName contents:newSource
+                ].
+            ] ifFalse:[
+                cls fileOutIn:packageTargetDir withTimeStamp:false
+            ].
         ].
 
 "/        (Smalltalk allClassesInPackage:eachPackageToFileout) do:[:cls |