ProjectBuilder.st
changeset 2981 e61e4a6fb317
parent 2979 06dcbe5668a4
child 2984 bfb6db857ea8
--- a/ProjectBuilder.st	Wed Mar 20 19:41:52 2013 +0100
+++ b/ProjectBuilder.st	Thu Mar 21 18:30:30 2013 +0100
@@ -462,18 +462,18 @@
 !
 
 copyResourcesForPackage:aPackage
-    |module directory|
+    |module directory myPackageDirectory rsrcDir stylesDir|
 
     module := aPackage asPackageId module.
     directory := aPackage asPackageId directory.
 
-    (myTopDirectory / module / directory / 'resources' ) exists ifTrue:[
-        (myTopDirectory / module / directory / 'resources' )
-            recursiveCopyTo:(buildDirectory / module / directory)
+    myPackageDirectory := myTopDirectory / module / directory.
+
+    (rsrcDir := myPackageDirectory / 'resources' ) exists ifTrue:[
+        rsrcDir recursiveCopyTo:(buildDirectory / module / directory)
     ].
-    (myTopDirectory / module / directory / 'styles' ) exists ifTrue:[
-        (myTopDirectory / module / directory / 'styles' )
-            recursiveCopyTo:(buildDirectory / module / directory)
+    (stylesDir := myPackageDirectory / 'styles' ) exists ifTrue:[
+        stylesDir recursiveCopyTo:(buildDirectory / module / directory)
     ].
 !
 
@@ -804,7 +804,7 @@
     "/ file out the package(s) which are to be built
     ((Array with:package))
     do:[:eachPackageToFileout |
-        |packageId packageModule packageDirectory packageTargetDir packageDef|
+        |packageId packageModule packageDirectory packageTargetDir packageDef extSource|
 
         packageId := eachPackageToFileout asPackageId.
         packageModule := packageId module.
@@ -830,6 +830,16 @@
             ].
         ].
 
+        packageDef hasExtensionMethods ifTrue:[
+            extSource := 
+                String streamContents:[:s |
+                    packageDef extensionMethods do:[:eachMethod |
+                        eachMethod mclass fileOutMethod:eachMethod on:s
+                    ].
+                ].
+                (packageTargetDir asFilename construct:'extensions.st') contents:extSource
+        ].
+
 "/        (Smalltalk allClassesInPackage:eachPackageToFileout) do:[:cls |
 "/            cls isPrivate ifFalse:[
 "/                cls isLoaded ifFalse:[