checkin from browser
authorClaus Gittinger <cg@exept.de>
Mon, 20 Sep 1999 14:57:14 +0200
changeset 4776 9e7ef3a357a4
parent 4775 4c96f1d40626
child 4777 9e3b0e4db201
checkin from browser
Project.st
--- a/Project.st	Mon Sep 20 14:16:10 1999 +0200
+++ b/Project.st	Mon Sep 20 14:57:14 1999 +0200
@@ -1400,26 +1400,57 @@
         ^ self
     ].
 
-    out nextPutAll:'
+    out nextPutAll:'"/
+"/ $Header: /cvs/stx/stx/libbasic/Project.st,v 1.98 1999-09-20 12:57:14 cg Exp $
+"/
+"/ load-file to load code for: ' , self package , '
+"/
+"/ Automatically generated from project definition.
+"/
+
+"/
+"/ Prerequisites:
+"/
+
+"{ package:''' , self package , ''' }"!!
+
 |files|
 
+''loading package ' , self package , ' ...'' printCR.
+
 files := #(
 '.
 
     classes do:[:cls |
-         out nextPut:$'.
+         out nextPutAll:'  '''.
          cls nameWithoutNameSpacePrefix printOn:out.
          out nextPutAll:'.st'''.
          out cr.
     ].
 
-    out nextPutAll:').
+    out nextPutAll:') asOrderedCollection.
+
+(Smalltalk loadClassLibraryIfAbsent:''' , self name , ''') ifTrue:[
+    |handle loaded|
+
+    handle := ObjectFileLoader loadedObjectHandles detect:[:h | |cls|
+        cls := h classes firstIfEmpty:nil.
+        cls notNil and:[cls package = ''' , self package , ''']
+    ] ifNone:[].
+
+    handle ifNotNil:[
+        loaded := Set new:(handle classes size).
+        handle classes do:[:c| c isMeta ifFalse:[loaded add:c classFilename]].
+        files := files asOrderedCollection select:[:f| (loaded includes:f) not].
+    ].
+]. 
 
 files do:[:s |
     ''.'' print.
     Smalltalk fileIn:s.
 ].
-'' done'' printCR.
+'' '' printCR.
+'' done (' , self package , ').'' printCR.
 '.
 
     out close
@@ -2429,6 +2460,6 @@
 !Project class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.97 1999-09-20 07:57:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.98 1999-09-20 12:57:14 cg Exp $'
 ! !
 Project initialize!