136 run:packageIdent type:packageType toolchain:toolchain |
136 run:packageIdent type:packageType toolchain:toolchain |
137 | packageDef startup | |
137 | packageDef startup | |
138 |
138 |
139 "/ Compile all classes... |
139 "/ Compile all classes... |
140 Class packageQuerySignal answer:package do:[ |
140 Class packageQuerySignal answer:package do:[ |
141 (self class privateClasses select:[:cls | cls packageIdent = packageIdent ]) do:[:cls | |
141 (self class privateClasses select:[:cls | cls packageIdent = packageIdent ]) do:[:cls | |
142 | copy | |
142 | copy | |
143 |
143 |
144 copy := cls superclass |
144 copy := cls superclass |
145 subclass: cls nameWithoutPrefix |
145 subclass: cls nameWithoutPrefix |
146 instanceVariableNames:(cls instVarNames asStringWith:' ') |
146 instanceVariableNames:(cls instVarNames asStringWith:' ') |
147 classVariableNames:(cls classVarNames asStringWith:' ') |
147 classVariableNames:(cls classVarNames asStringWith:' ') |
148 poolDictionaries:cls poolDictionaries |
148 poolDictionaries:cls poolDictionaries |
149 category:'** tmp **'. |
149 category:'** tmp **'. |
150 cls methodDictionary do:[:each | |
150 cls methodDictionary do:[:each | |
151 copy compile:each source classified:each category. |
151 copy compile:each source classified:each category. |
152 ]. |
152 ]. |
153 cls class methodDictionary do:[:each | |
153 cls class methodDictionary do:[:each | |
154 copy class compile:each source classified:each category. |
154 copy class compile:each source classified:each category. |
155 ]. |
155 ]. |
156 (copy inheritsFrom:StandaloneStartup) ifTrue:[ |
156 (copy inheritsFrom:StandaloneStartup) ifTrue:[ |
157 startup := copy. |
157 startup := copy. |
158 ]. |
158 ]. |
159 ]. |
159 ]. |
160 ]. |
160 ]. |
161 |
161 |
162 "/ Create project definition class. |
162 "/ Create project definition class. |
163 Class packageQuerySignal answer:package do:[ |
163 Class packageQuerySignal answer:package do:[ |
164 packageDef := ProjectDefinition |
164 packageDef := ProjectDefinition |
165 definitionClassForPackage:package |
165 definitionClassForPackage:package |
166 projectType:packageType |
166 projectType:packageType |
167 createIfAbsent:true. |
167 createIfAbsent:true. |
168 packageDef theNonMetaclass |
168 |
169 forEachContentsMethodsCodeToCompileDo:[:code :category | packageDef theMetaclass compile:code classified:category ] |
169 packageDef class compile:'applicationIconFileName ^ nil'. |
170 "/ignoreOldEntries: false |
170 packageDef theNonMetaclass |
171 ignoreOldDefinition: false. |
171 forEachContentsMethodsCodeToCompileDo:[:code :category | packageDef theMetaclass compile:code classified:category ] |
172 packageDef isApplicationDefinition ifTrue:[ |
172 "/ignoreOldEntries: false |
173 packageDef class compile:'startupClassName ^ ' , startup fullName storeString. |
173 ignoreOldDefinition: false. |
174 ]. |
174 packageDef isApplicationDefinition ifTrue:[ |
|
175 packageDef class compile:'startupClassName ^ ' , startup fullName storeString. |
|
176 ]. |
175 ]. |
177 ]. |
176 "/ Fileout to package directory... |
178 "/ Fileout to package directory... |
177 |
179 |
178 packageDef classes do:[:class | |
180 packageDef classes do:[:class | |
179 | container | |
181 | container | |
180 |
182 |
181 container := (class fullName copyReplaceAll:$: with:$_) , '.st'. |
183 container := (class fullName copyReplaceAll:$: with:$_) , '.st'. |
182 (packageDir / container) |
184 (packageDir / container) |
183 writingFileDo:[:f | |
185 writingFileDo:[:f | |
184 AbstractSourceCodeManager |
186 AbstractSourceCodeManager |
185 fileOutSourceCodeOf:class |
187 fileOutSourceCodeOf:class |
186 on:f |
188 on:f |
187 withTimeStamp:false |
189 withTimeStamp:false |
188 withInitialize:true |
190 withInitialize:true |
189 withDefinition:true |
191 withDefinition:true |
190 methodFilter:[:mth | mth package = package ] |
192 methodFilter:[:mth | mth package = package ] |
191 ] |
193 ] |
192 ]. |
194 ]. |
193 |
195 |
194 "/ Generate build support files... |
196 "/ Generate build support files... |
195 |
197 |
196 packageDef fileNamesToGenerate keys do:[:filename | |
198 packageDef fileNamesToGenerate keys do:[:filename | |