9552
|
1 |
"
|
|
2 |
COPYRIGHT (c) 2006 by eXept Software AG
|
|
3 |
All Rights Reserved
|
|
4 |
|
|
5 |
This software is furnished under a license and may be used
|
|
6 |
only in accordance with the terms of that license and with the
|
|
7 |
inclusion of the above copyright notice. This software may not
|
|
8 |
be provided or otherwise made available to, or used by, any
|
|
9 |
other person. No title to or ownership of the software is
|
|
10 |
hereby transferred.
|
|
11 |
"
|
|
12 |
|
9671
|
13 |
"{ Package: 'stx:libbasic' }"
|
9532
|
14 |
|
9567
|
15 |
ProjectDefinition subclass:#ApplicationDefinition
|
9532
|
16 |
instanceVariableNames:''
|
|
17 |
classVariableNames:''
|
|
18 |
poolDictionaries:''
|
|
19 |
category:'System-Support-Projects'
|
|
20 |
!
|
|
21 |
|
9552
|
22 |
!ApplicationDefinition class methodsFor:'documentation'!
|
|
23 |
|
|
24 |
copyright
|
|
25 |
"
|
|
26 |
COPYRIGHT (c) 2006 by eXept Software AG
|
|
27 |
All Rights Reserved
|
|
28 |
|
|
29 |
This software is furnished under a license and may be used
|
|
30 |
only in accordance with the terms of that license and with the
|
|
31 |
inclusion of the above copyright notice. This software may not
|
|
32 |
be provided or otherwise made available to, or used by, any
|
|
33 |
other person. No title to or ownership of the software is
|
|
34 |
hereby transferred.
|
|
35 |
"
|
|
36 |
! !
|
9532
|
37 |
|
9535
|
38 |
!ApplicationDefinition class methodsFor:'accessing'!
|
9532
|
39 |
|
|
40 |
applicationName
|
9816
|
41 |
|m path|
|
9532
|
42 |
|
9816
|
43 |
m := self moduleDirectory.
|
|
44 |
path := m subStrings:$/.
|
|
45 |
path last = 'application' ifTrue:[
|
|
46 |
path size > 1 ifTrue:[
|
|
47 |
path := path copyWithoutLast:1.
|
|
48 |
].
|
|
49 |
].
|
|
50 |
^ path last
|
|
51 |
|
|
52 |
"
|
|
53 |
bosch_dapasx_application applicationName
|
|
54 |
stx_projects_smalltalk applicationName
|
|
55 |
"
|
9532
|
56 |
|
|
57 |
"Created: / 08-08-2006 / 20:25:39 / fm"
|
9816
|
58 |
"Modified: / 30-08-2006 / 19:29:25 / cg"
|
9535
|
59 |
! !
|
9532
|
60 |
|
9535
|
61 |
!ApplicationDefinition class methodsFor:'defaults'!
|
9532
|
62 |
|
9535
|
63 |
defaultDescription
|
|
64 |
^ 'an application'
|
9532
|
65 |
!
|
|
66 |
|
9886
|
67 |
guiClassFileNames_unix
|
|
68 |
^ self guiClasses_unix
|
|
69 |
collect:[:cls | (cls classFilename asFilename withSuffix:'so') baseName].
|
|
70 |
|
|
71 |
"Created: / 14-09-2006 / 18:13:22 / cg"
|
|
72 |
!
|
|
73 |
|
9833
|
74 |
guiClassFileNames_win32
|
|
75 |
^ self guiClasses_win32
|
9886
|
76 |
collect:[:cls | (cls classFilename asFilename withSuffix:'dll') baseName].
|
9833
|
77 |
|
|
78 |
"Created: / 07-09-2006 / 17:23:13 / cg"
|
9886
|
79 |
"Modified: / 14-09-2006 / 18:13:46 / cg"
|
|
80 |
!
|
|
81 |
|
|
82 |
guiClasses_unix
|
|
83 |
^ #()
|
|
84 |
|
|
85 |
"Created: / 14-09-2006 / 18:12:58 / cg"
|
9532
|
86 |
!
|
|
87 |
|
9833
|
88 |
guiClasses_win32
|
9886
|
89 |
^ #()
|
|
90 |
"/ ^ Array with:XWorkstation
|
9833
|
91 |
|
|
92 |
"Created: / 07-09-2006 / 17:22:27 / cg"
|
9886
|
93 |
"Modified: / 14-09-2006 / 18:12:35 / cg"
|
9535
|
94 |
!
|
9532
|
95 |
|
9535
|
96 |
needResources
|
|
97 |
^ self isGUIApplication
|
9532
|
98 |
! !
|
|
99 |
|
9535
|
100 |
!ApplicationDefinition class methodsFor:'description'!
|
9532
|
101 |
|
|
102 |
excludedFromPreRequisites
|
9578
|
103 |
"list packages which are to be explicitely excluded from the automatic constructed
|
|
104 |
prerequisites list. If empty, everything that is found along the inheritance of any of
|
|
105 |
my classes is considered to be a prerequisite package."
|
9532
|
106 |
|
9578
|
107 |
^ #()
|
|
108 |
|
|
109 |
"Modified: / 17-08-2006 / 19:48:59 / cg"
|
9532
|
110 |
!
|
|
111 |
|
|
112 |
excludedFromSubProjects
|
9578
|
113 |
"list packages which are to be explicitely excluded from the automatic constructed
|
|
114 |
subProjects list. If empty, every sub-package is included as a prerequisite."
|
9532
|
115 |
|
9578
|
116 |
^ #()
|
|
117 |
|
|
118 |
"Modified: / 17-08-2006 / 19:49:40 / cg"
|
9532
|
119 |
!
|
|
120 |
|
9535
|
121 |
isGUIApplication
|
9578
|
122 |
"Return true, if this is a GUI app.
|
|
123 |
Redefine to return false for non-GUI applications (affects inclusion of Display classes)."
|
9535
|
124 |
|
9578
|
125 |
^true
|
9535
|
126 |
|
|
127 |
"Created: / 08-08-2006 / 11:15:01 / fm"
|
9578
|
128 |
"Modified: / 17-08-2006 / 19:47:36 / cg"
|
9532
|
129 |
!
|
|
130 |
|
9823
|
131 |
isSingleThreadedApplication
|
|
132 |
"Return true, if this should be started without multiple threads.
|
|
133 |
(not possible with gui applications)"
|
|
134 |
|
|
135 |
^false
|
|
136 |
|
|
137 |
"Created: / 05-09-2006 / 13:36:18 / cg"
|
|
138 |
!
|
|
139 |
|
9725
|
140 |
startupClassName
|
9578
|
141 |
"The name of the class which provides the entry point for the application."
|
9532
|
142 |
|
9578
|
143 |
self subclassResponsibility
|
|
144 |
|
|
145 |
"Modified: / 17-08-2006 / 20:00:22 / cg"
|
9532
|
146 |
!
|
|
147 |
|
9725
|
148 |
startupSelector
|
9578
|
149 |
"The name of the entry point method (in startUpClass) used to start the application."
|
9532
|
150 |
|
9578
|
151 |
^ #'start'
|
|
152 |
|
|
153 |
"Modified: / 17-08-2006 / 20:01:00 / cg"
|
|
154 |
! !
|
|
155 |
|
|
156 |
!ApplicationDefinition class methodsFor:'description - project information'!
|
|
157 |
|
|
158 |
description
|
|
159 |
"Returns a description string which will appear in nt.def / bc.def"
|
|
160 |
|
|
161 |
self module = 'stx' ifTrue:[
|
|
162 |
^ 'Smalltalk/X Application'
|
|
163 |
].
|
|
164 |
|
9587
|
165 |
^ 'Application'
|
9578
|
166 |
|
|
167 |
"Created: / 17-08-2006 / 20:52:48 / cg"
|
9587
|
168 |
"Modified: / 18-08-2006 / 16:16:01 / cg"
|
9889
|
169 |
!
|
|
170 |
|
|
171 |
fileDescription
|
|
172 |
"Return a description string which will appear in nt.def / bc.def"
|
|
173 |
|
|
174 |
^self description , ' Application'
|
|
175 |
|
|
176 |
"Created: / 14-09-2006 / 20:08:11 / cg"
|
9532
|
177 |
! !
|
|
178 |
|
|
179 |
!ApplicationDefinition class methodsFor:'file generation'!
|
|
180 |
|
9854
|
181 |
basicFileNamesToGenerate
|
9535
|
182 |
^ #(
|
9816
|
183 |
#('Make.spec' #'generate_make_dot_spec')
|
9886
|
184 |
"/ #('Make.proto' #'generate_make_dot_proto')
|
9535
|
185 |
"
|
9605
|
186 |
#('libInit.cc' #'generate_libInit_dot_cc')
|
9532
|
187 |
"
|
9605
|
188 |
#('bc.def' #'generate_bc_dot_def')
|
|
189 |
#('nt.mak' #'generate_nt_dot_mak')
|
|
190 |
#('modules.stx' #'generate_modules_dot_stx')
|
9532
|
191 |
"
|
9605
|
192 |
#('nt.def' #'generate_nt_dot_def')
|
9816
|
193 |
"
|
9605
|
194 |
#('abbrev.stc' #'generate_abbrev_dot_stc')
|
|
195 |
#('bmake.bat' #'generate_bmake_dot_mak')
|
9816
|
196 |
"/ #('buildDate.h' #'generate_buildDate_dot_h') -- done by nt.mak
|
9535
|
197 |
)
|
9578
|
198 |
|
9854
|
199 |
"Created: / 14-09-2006 / 14:36:00 / cg"
|
9886
|
200 |
"Modified: / 14-09-2006 / 17:51:10 / cg"
|
9623
|
201 |
!
|
|
202 |
|
|
203 |
generateFile:filename
|
|
204 |
^ super generateFile:filename
|
|
205 |
|
|
206 |
"Created: / 22-08-2006 / 18:35:40 / cg"
|
9816
|
207 |
"Modified: / 30-08-2006 / 19:23:12 / cg"
|
9830
|
208 |
!
|
|
209 |
|
|
210 |
rcFilename
|
|
211 |
^ self packageName,'WinRC.rc'.
|
|
212 |
|
|
213 |
"Created: / 07-09-2006 / 17:07:08 / cg"
|
|
214 |
!
|
|
215 |
|
|
216 |
resourceFilename
|
|
217 |
^ (self rcFilename asFilename withSuffix:'res') name
|
|
218 |
|
|
219 |
"Created: / 07-09-2006 / 17:12:53 / cg"
|
9532
|
220 |
! !
|
|
221 |
|
|
222 |
!ApplicationDefinition class methodsFor:'file templates'!
|
|
223 |
|
9535
|
224 |
bc_dot_def
|
9578
|
225 |
"the template code for the bc.def file"
|
9535
|
226 |
|
|
227 |
^
|
|
228 |
'DESCRIPTION %(DESCRIPTION)
|
|
229 |
CODE PRELOAD MOVEABLE DISCARDABLE
|
|
230 |
SEGMENTS
|
|
231 |
INITCODE PRELOAD DISCARDABLE
|
|
232 |
'
|
|
233 |
|
|
234 |
"Created: / 08-08-2006 / 12:26:58 / fm"
|
|
235 |
"Modified: / 08-08-2006 / 19:32:27 / fm"
|
9578
|
236 |
"Modified: / 17-08-2006 / 20:05:17 / cg"
|
9535
|
237 |
!
|
|
238 |
|
9816
|
239 |
buildDate_dot_h
|
|
240 |
"the template code for the buildDate.h file"
|
|
241 |
|
|
242 |
^
|
|
243 |
'#define BUILD_DATE "%(BUILDDATE)"'
|
|
244 |
|
|
245 |
"Created: / 30-08-2006 / 19:18:34 / cg"
|
|
246 |
!
|
|
247 |
|
9535
|
248 |
modules_dot_stx
|
9532
|
249 |
|
9535
|
250 |
^
|
9542
|
251 |
'# $','Header','$
|
9535
|
252 |
#
|
9578
|
253 |
# DO NOT EDIT
|
|
254 |
# automagically generated from the projectDefinition: ',self name,'.
|
|
255 |
#
|
|
256 |
# Warning: once you modify this file, do not rerun
|
|
257 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
|
|
258 |
#
|
9535
|
259 |
# This file is (currently) only used with win-95 / win-NT versions of STX.
|
|
260 |
# It lists the dll''s which are to be loaded at startup time.
|
|
261 |
#
|
|
262 |
# All classes loaded at startup time will be present as precompiled classes.
|
|
263 |
# Others will be autoloaded.
|
|
264 |
#
|
|
265 |
%(PREREQUISITE_LIBS)
|
|
266 |
%(SUBPROJECT_LIBS)
|
|
267 |
'
|
|
268 |
|
|
269 |
"Created: / 08-08-2006 / 12:26:58 / fm"
|
|
270 |
"Modified: / 08-08-2006 / 19:32:27 / fm"
|
9542
|
271 |
"Modified: / 16-08-2006 / 17:56:58 / User"
|
9578
|
272 |
"Modified: / 17-08-2006 / 20:35:38 / cg"
|
9535
|
273 |
!
|
|
274 |
|
|
275 |
nt_dot_mak
|
|
276 |
|def needResources|
|
|
277 |
|
|
278 |
needResources := false "self isGUIApplication".
|
|
279 |
|
|
280 |
def :=
|
9687
|
281 |
'# $','Header','$
|
|
282 |
#
|
9578
|
283 |
# DO NOT EDIT
|
|
284 |
# automagically generated from the projectDefinition: ',self name,'.
|
|
285 |
#
|
|
286 |
# Warning: once you modify this file, do not rerun
|
|
287 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
|
9532
|
288 |
#
|
|
289 |
|
9886
|
290 |
TOP=%(TOP)
|
|
291 |
INCLUDE_TOP=$(TOP)\..
|
|
292 |
|
9687
|
293 |
# CFLAGS1= -WD -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c -tWDR
|
9532
|
294 |
CFLAGS1= -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c
|
|
295 |
|
|
296 |
CFLAGS_CONSOLE=
|
|
297 |
CFLAGS_NOCONSOLE=-tWR -D_NO_VCL;WIN32GUI;WIN32 -DWIN_LOGFILE="\"%(APPLICATION)_%%d.log\""
|
|
298 |
LFLAGS_CONSOLE=-ap
|
|
299 |
LFLAGS_NOCONSOLE=-aa
|
|
300 |
CRT_STARTUP_CONSOLE=c0x32.obj
|
|
301 |
CRT_STARTUP_NOCONSOLE=c0w32.obj
|
|
302 |
|
|
303 |
CFLAGS_APPTYPE=$(CFLAGS_NOCONSOLE)
|
|
304 |
LFLAGS_APPTYPE=$(LFLAGS_NOCONSOLE)
|
|
305 |
CRT_STARTUP=$(CRT_STARTUP_NOCONSOLE)
|
|
306 |
|
9614
|
307 |
CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \
|
|
308 |
-DSTARTUP_CLASS="\"%(STARTUP_CLASS)\"" \
|
|
309 |
-DSTARTUP_SELECTOR="\"%(STARTUP_SELECTOR)\"" \
|
|
310 |
-DUSE_MODULE_TABLE
|
9532
|
311 |
|
|
312 |
#
|
|
313 |
|
|
314 |
!!INCLUDE $(TOP)\rules\stdHeader_nt
|
9816
|
315 |
!!INCLUDE Make.spec
|
|
316 |
|
|
317 |
OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
|
|
318 |
|
9532
|
319 |
#
|
|
320 |
LIBNAME=dummy
|
|
321 |
STCOPT="+optinline"
|
9886
|
322 |
LOCALINCLUDES=%(LOCAL_INCLUDES)
|
|
323 |
STCLOCALOPT=''-package=$(PACKAGE)'' $(LOCALINCLUDES) %(HEADEROUTPUTARG) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME)
|
9532
|
324 |
|
|
325 |
LINKER = ilink32
|
|
326 |
|
|
327 |
# LFLAGS = -L$(TOP)\libbc;$(BCB)\lib;$(DEBUGLIBPATH) -H:0x400000 -Hc:0x100000 -S:0x40000 -Sc:0x10000 -ap -Tpe -x -Gn -v -Ao:0x10000
|
|
328 |
LFLAGS = -L$(TOP)\libbc;$(BCB)\lib -S:0x40000 -Sc:0x10000 $(LFLAGS_APPTYPE) -Tpe -x -Gn -v -Ao:0x10000
|
|
329 |
|
|
330 |
PROJECT = %(APPLICATION).exe
|
|
331 |
ALLOBJFILES = main.obj
|
9830
|
332 |
RESFILES = %(RESFILENAME)
|
9532
|
333 |
ALLOBJ = $(CRT_STARTUP) $(ALLOBJFILES) $(OBJS)
|
|
334 |
DEFFILE=bc.def
|
|
335 |
|
|
336 |
LIBFILES=$(TOP)\libbc\librun.lib
|
|
337 |
ALLLIB=$(LIBFILES) import32.lib $(RT_LIB)
|
|
338 |
|
9535
|
339 |
REQUIRED_LIBS=librun.dll %(REQUIRED_LIBS)
|
|
340 |
REQUIRED_FILES=cs3245.dll symbols.stc $(REQUIRED_LIBS)
|
9532
|
341 |
|
9535
|
342 |
REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS)
|
9532
|
343 |
|
9830
|
344 |
ALL:: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) $(REQUIRED_SUPPORT_DIRS)
|
9532
|
345 |
|
|
346 |
setup: install_%(APPLICATION).exe
|
|
347 |
|
|
348 |
# This uses the Nullsoft Installer Package and works in Windows only
|
|
349 |
|
|
350 |
install_%(APPLICATION).exe: $(PROJECT) %(APPLICATION).nsi
|
|
351 |
makensis %(APPLICATION).nsi
|
|
352 |
|
|
353 |
new:
|
|
354 |
bmake clean
|
|
355 |
bmake
|
|
356 |
|
9535
|
357 |
%(RESOURCE_RULES)
|
9532
|
358 |
|
|
359 |
%(PREREQUISITES_LIBS)
|
|
360 |
%(SUBPROJECTS_LIBS)
|
|
361 |
|
|
362 |
show:
|
|
363 |
@echo LFLAGS= $(LFLAGS)
|
|
364 |
@echo ALLOBJ= $(ALLOBJ)
|
|
365 |
@echo PROJECT= $(PROJECT)
|
|
366 |
@echo ALLLIB= $(ALLLIB)
|
|
367 |
@echo DEFFILE= $(DEFFILE)
|
|
368 |
@echo ALLRES= $(ALLRES)
|
|
369 |
|
|
370 |
$(PROJECT): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
|
|
371 |
$(BCB)\BIN\$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT),, $(ALLLIB), $(DEFFILE), $(RESFILES)
|
|
372 |
|
|
373 |
#$(PROJECT): $(ALLOBJFILES) $(RESFILES) $(DEFFILE)
|
|
374 |
# $(BCB)\BIN\$(LINKER) @&&!!
|
|
375 |
# $(LFLAGS) +
|
|
376 |
# $(ALLOBJ), +
|
|
377 |
# $(PROJECT),, +
|
|
378 |
# $(ALLLIB), +
|
|
379 |
# $(DEFFILE), +
|
|
380 |
# $(RESFILES)
|
|
381 |
#!!
|
|
382 |
|
|
383 |
|
|
384 |
!!INCLUDE $(TOP)\rules\stdRules_nt
|
|
385 |
|
|
386 |
#
|
|
387 |
# additional rules
|
|
388 |
#
|
9830
|
389 |
%(APPLICATION)Win.res: %(APPLICATION)Win.rc %(APPLICATION).ico
|
9532
|
390 |
|
|
391 |
main.obj: buildDate.h main.c nt.mak
|
|
392 |
|
9687
|
393 |
main.c: $(TOP)\librun\main.c
|
9532
|
394 |
copy $(TOP)\librun\main.c main.c
|
|
395 |
|
9816
|
396 |
buildDate.h: $(TOP)\librun\genDate.exe
|
|
397 |
$(TOP)\librun\genDate.exe
|
9532
|
398 |
|
|
399 |
librun.dll: $(TOP)\librun\librun.dll
|
|
400 |
copy $(TOP)\librun\librun.dll librun.dll
|
|
401 |
|
|
402 |
cs3245.dll: $(TOP)\support\win32\borland\cs3245.dll
|
|
403 |
copy $(TOP)\support\win32\borland\cs3245.dll cs3245.dll
|
|
404 |
|
|
405 |
symbols.stc: $(TOP)\include\symbols.stc
|
|
406 |
copy $(TOP)\include\symbols.stc symbols.stc
|
|
407 |
|
9830
|
408 |
clobber::
|
|
409 |
-del librun.dll
|
|
410 |
|
9532
|
411 |
clean::
|
|
412 |
-del genDate.exe
|
|
413 |
-del c0x32.dll
|
|
414 |
-del c0x32.lib
|
|
415 |
-del buildDate.h
|
|
416 |
-del $(PROJECT)
|
|
417 |
-del install_%(APPLICATION).exe
|
|
418 |
-del stx.lib
|
|
419 |
-del stx.dll
|
|
420 |
-del cs3245.dll
|
|
421 |
-del $(REQUIRED_FILES)
|
|
422 |
-del main.c
|
|
423 |
-del *.log
|
9830
|
424 |
-del *.res
|
9532
|
425 |
-rmdir /S /Q resources
|
|
426 |
-rmdir /S /Q objbc
|
|
427 |
|
9830
|
428 |
clobber::
|
|
429 |
-del *.dll
|
|
430 |
|
9532
|
431 |
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
|
9886
|
432 |
%(DEPENDENCIES)
|
9532
|
433 |
# ENDMAKEDEPEND --- do not remove this line
|
9535
|
434 |
'.
|
|
435 |
|
|
436 |
^ def.
|
9578
|
437 |
|
9886
|
438 |
"Modified: / 14-09-2006 / 18:10:02 / cg"
|
9535
|
439 |
!
|
|
440 |
|
|
441 |
nt_dot_mak_resource_rules
|
|
442 |
^ '
|
|
443 |
|
9890
|
444 |
RESOURCEFILES: %(APPLICATION)_RESOURCES %(APPLICATION)_BITMAPS stx_RESOURCES stx_STYLES stx_BITMAPS
|
9535
|
445 |
|
9890
|
446 |
%(APPLICATION)_RESOURCES: resources\%(MODULE)\%(MODULE_PATH)\NUL
|
|
447 |
copy ..\resources\*.rs resources\%(MODULE)\%(MODULE_PATH)\*.*
|
|
448 |
|
9893
|
449 |
%(APPLICATION)_BITMAPS: resources\%(MODULE)\%(MODULE_PATH)\bitmaps\NUL
|
9890
|
450 |
copy *.ico resources\%(MODULE)\%(MODULE_PATH)\bitmaps\*.*
|
|
451 |
copy *.gif resources\%(MODULE)\%(MODULE_PATH)\bitmaps\*.*
|
9535
|
452 |
|
|
453 |
stx_RESOURCES: \
|
|
454 |
libbasic_RESOURCES \
|
|
455 |
libtool_RESOURCES \
|
|
456 |
libtool2_RESOURCES \
|
|
457 |
libview_RESOURCES \
|
|
458 |
libview2_RESOURCES
|
|
459 |
|
|
460 |
stx_STYLES: resources\stx\libview\NUL
|
|
461 |
copy $(TOP)\libview\styles\mswindowsXP* resources\stx\libview\*.*
|
|
462 |
copy $(TOP)\libview\styles\mswindows*.common resources\stx\libview\*.*
|
|
463 |
|
|
464 |
stx_BITMAPS: \
|
|
465 |
libwidg_BITMAPS
|
|
466 |
|
|
467 |
libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL
|
|
468 |
copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.*
|
|
469 |
|
|
470 |
libbasic_RESOURCES: resources\stx\libbasic\NUL
|
|
471 |
copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.*
|
|
472 |
|
|
473 |
libtool_RESOURCES: resources\stx\libtool\NUL
|
|
474 |
copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.*
|
|
475 |
|
|
476 |
libtool2_RESOURCES: resources\stx\libtool2\NUL
|
|
477 |
copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.*
|
|
478 |
|
|
479 |
libview_RESOURCES: resources\stx\libview\NUL
|
|
480 |
copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.*
|
|
481 |
|
|
482 |
libview2_RESOURCES: resources\stx\libview2\NUL
|
|
483 |
copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.*
|
|
484 |
|
|
485 |
resources\stx\libbasic\NUL: resources\stx\NUL
|
|
486 |
mkdir resources\stx\libbasic
|
|
487 |
|
|
488 |
resources\stx\libtool\NUL: resources\stx\NUL
|
|
489 |
mkdir resources\stx\libtool
|
|
490 |
|
|
491 |
resources\stx\libtool2\NUL: resources\stx\NUL
|
|
492 |
mkdir resources\stx\libtool2
|
|
493 |
|
|
494 |
resources\stx\libview\NUL: resources\stx\NUL
|
|
495 |
mkdir resources\stx\libview
|
|
496 |
|
|
497 |
resources\stx\libview2\NUL: resources\stx\NUL
|
|
498 |
mkdir resources\stx\libview2
|
|
499 |
|
|
500 |
resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL
|
|
501 |
mkdir resources\stx\libwidg\bitmaps
|
|
502 |
|
|
503 |
resources\stx\libwidg\NUL: resources\stx\NUL
|
|
504 |
mkdir resources\stx\libwidg
|
|
505 |
|
|
506 |
resources\stx\NUL: resources\NUL
|
|
507 |
mkdir resources\stx
|
|
508 |
|
9892
|
509 |
resources\%(MODULE)\%(MODULE_PATH)\bitmaps\NUL: resources\%(MODULE)\%(MODULE_PATH)\NUL
|
9890
|
510 |
mkdir resources\%(MODULE)\%(MODULE_PATH)\bitmaps
|
|
511 |
|
|
512 |
resources\%(MODULE)\%(MODULE_PATH)\NUL: resources\%(MODULE)\NUL
|
|
513 |
mkdir resources\%(MODULE)\%(MODULE_PATH)
|
9535
|
514 |
|
|
515 |
resources\%(MODULE)\NUL: resources\NUL
|
|
516 |
mkdir resources\%(MODULE)
|
|
517 |
|
|
518 |
resources\NUL:
|
|
519 |
mkdir resources
|
|
520 |
|
|
521 |
bitmaps\NUL:
|
|
522 |
mkdir bitmaps
|
|
523 |
|
|
524 |
doc\NUL:
|
|
525 |
mkdir doc
|
|
526 |
|
|
527 |
'.
|
9890
|
528 |
|
9893
|
529 |
"Modified: / 14-09-2006 / 20:33:25 / cg"
|
9532
|
530 |
!
|
|
531 |
|
9816
|
532 |
packageName_dot_rc
|
|
533 |
"the template code for the <appname>.rc file"
|
|
534 |
|
|
535 |
^
|
|
536 |
'//
|
|
537 |
// DO NOT EDIT
|
|
538 |
// automagically generated from the projectDefinition: ',self name,'.
|
|
539 |
//
|
|
540 |
#define IDR_MAINFRAME 128
|
|
541 |
|
|
542 |
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
543 |
#pragma code_page(1252)
|
|
544 |
|
|
545 |
%(ICONDEFINITION_LINE)
|
|
546 |
|
|
547 |
VS_VERSION_INFO VERSIONINFO
|
|
548 |
FILEVERSION %(FILE_VERSION_COMMASEPARATED)
|
|
549 |
PRODUCTVERSION %(PRODUCT_VERSION_COMMASEPARATED)
|
|
550 |
// FILEFLAGSMASK 0x3fL
|
|
551 |
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
|
|
552 |
FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
|
|
553 |
FILEOS VOS_NT_WINDOWS32
|
|
554 |
FILETYPE %(FILETYPE)
|
|
555 |
FILESUBTYPE VS_USER_DEFINED
|
|
556 |
|
|
557 |
BEGIN
|
|
558 |
BLOCK "StringFileInfo"
|
|
559 |
BEGIN
|
|
560 |
BLOCK "040904E4"
|
|
561 |
BEGIN
|
|
562 |
VALUE "CompanyName", "%(COMPANY_NAME)\0"
|
|
563 |
VALUE "FileDescription", "%(FILE_DESCRIPTION)\0"
|
|
564 |
VALUE "FileVersion", "%(FILE_VERSION)\0"
|
|
565 |
// VALUE "OriginalFilename", "DAPASX.EXE\0"
|
|
566 |
VALUE "InternalName", "%(INTERNAL_NAME)\0"
|
|
567 |
%(LEGAL_COPYRIGHT_LINE)
|
|
568 |
VALUE "ProductName", "%(PRODUCT_NAME)\0"
|
|
569 |
VALUE "ProductVersion", "%(PRODUCT_VERSION)\0"
|
|
570 |
VALUE "ProductDate", "%(PRODUCT_DATE)\0"
|
|
571 |
END
|
|
572 |
END
|
|
573 |
|
|
574 |
BLOCK "VarFileInfo"
|
|
575 |
BEGIN // Language | Translation
|
|
576 |
VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
|
|
577 |
END
|
|
578 |
END
|
|
579 |
'
|
|
580 |
"
|
|
581 |
stx_libbasic3 packageName_dot_rc
|
|
582 |
stx_libbasic3 generate_packageName_dot_rc
|
|
583 |
"
|
|
584 |
|
|
585 |
"Modified: / 09-08-2006 / 15:10:57 / fm"
|
|
586 |
"Created: / 30-08-2006 / 18:41:47 / cg"
|
|
587 |
!
|
|
588 |
|
9532
|
589 |
preRequisiteLine_nt_dot_mak
|
|
590 |
|
9535
|
591 |
^'%(FILE_NAME).dll: $(TOP)\%(MODULE_DIRECTORY)\objbc\%(FILE_NAME).dll
|
|
592 |
copy $(TOP)\%(MODULE_DIRECTORY)\objbc\%(FILE_NAME).dll *.*
|
9532
|
593 |
'
|
|
594 |
!
|
|
595 |
|
|
596 |
subProjectLine_nt_dot_mak
|
|
597 |
|
|
598 |
^'%(LIBRARY_NAME).dll: $(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll
|
|
599 |
copy $(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll *.*
|
|
600 |
|
|
601 |
$(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll:
|
|
602 |
cd $(TOP)\..\%(PATH_TO_SUB_PROJECT)
|
|
603 |
bmake
|
|
604 |
-cd $(TOP)\..\%(PATH_TO_MYPROJECT)
|
|
605 |
'
|
|
606 |
! !
|
|
607 |
|
|
608 |
!ApplicationDefinition class methodsFor:'mappings'!
|
|
609 |
|
9816
|
610 |
buildDate_dot_h_mappings
|
|
611 |
|d|
|
|
612 |
|
|
613 |
d := Dictionary new.
|
|
614 |
d
|
9886
|
615 |
at: 'BUILDDATE' put: (Timestamp now printStringRFC1123Format ).
|
9816
|
616 |
|
|
617 |
^ d
|
|
618 |
|
|
619 |
"Created: / 30-08-2006 / 19:19:30 / cg"
|
9886
|
620 |
"Modified: / 14-09-2006 / 18:58:31 / cg"
|
9816
|
621 |
!
|
|
622 |
|
9535
|
623 |
modules_dot_stx_mappings
|
|
624 |
|d|
|
|
625 |
|
|
626 |
d := Dictionary new.
|
|
627 |
d
|
9886
|
628 |
at: 'PREREQUISITE_LIBS' put: (self generatePreRequisiteLibs_modules_dot_stx);
|
|
629 |
at: 'SUBPROJECT_LIBS' put: (self generateSubProjectLines_modules_dot_stx ).
|
9535
|
630 |
|
|
631 |
^ d
|
9886
|
632 |
|
|
633 |
"Modified: / 14-09-2006 / 18:58:41 / cg"
|
9535
|
634 |
!
|
|
635 |
|
9532
|
636 |
nt_dot_mak_mappings
|
9535
|
637 |
|d|
|
9532
|
638 |
|
9578
|
639 |
d := super nt_dot_mak_mappings.
|
9535
|
640 |
d
|
9886
|
641 |
at: 'LOCAL_INCLUDES' put: (self generateLocalIncludes_win32);
|
|
642 |
at: 'APPLICATION' put: (self applicationName);
|
|
643 |
at: 'RESFILENAME' put: (self resourceFilename );
|
|
644 |
at: 'RCFILENAME' put: (self rcFilename );
|
|
645 |
at: 'STARTUP_CLASS' put: ( self startupClassName );
|
|
646 |
at: 'STARTUP_SELECTOR' put: (self startupSelector );
|
|
647 |
at: 'REQUIRED_LIBS' put: (self generateRequiredLibs_nt_dot_mak);
|
|
648 |
at: 'PREREQUISITES_LIBS' put: (self generatePreRequisiteLines_nt_dot_mak );
|
|
649 |
at: 'DEPENDENCIES' put: (self generateDependencies_win32);
|
|
650 |
at: 'SUBPROJECTS_LIBS' put: (self generateSubProjectLines_nt_dot_mak ).
|
9535
|
651 |
|
|
652 |
self needResources ifTrue:[
|
|
653 |
d
|
9886
|
654 |
at: 'REQUIRED_SUPPORT_DIRS' put: 'RESOURCEFILES'.
|
9535
|
655 |
d
|
9886
|
656 |
at: 'RESOURCE_RULES' put:( self replaceMappings: d
|
9535
|
657 |
in: self nt_dot_mak_resource_rules ).
|
|
658 |
].
|
|
659 |
^ d
|
9578
|
660 |
|
9886
|
661 |
"Modified: / 14-09-2006 / 18:58:52 / cg"
|
9532
|
662 |
!
|
|
663 |
|
|
664 |
preRequisiteLine_nt_dot_mak_mappings: aProjectID
|
|
665 |
|
|
666 |
^Dictionary new
|
9886
|
667 |
at: 'FILE_NAME' put: (self libraryNameFor: aProjectID );
|
|
668 |
at: 'MODULE_DIRECTORY' put: ( (PackageId from:aProjectID) directory copy replaceAll:$/ with:$\ );
|
9532
|
669 |
yourself
|
9567
|
670 |
|
9886
|
671 |
"Modified: / 14-09-2006 / 18:59:09 / cg"
|
9532
|
672 |
!
|
|
673 |
|
9535
|
674 |
preRequisiteLine_nt_dot_mak_mappingsForClass:aClass
|
|
675 |
|
|
676 |
^Dictionary new
|
9886
|
677 |
at: 'FILE_NAME' put: ( aClass classFilename asFilename withoutSuffix baseName );
|
|
678 |
at: 'MODULE_DIRECTORY' put: ( (PackageId from:aClass package) directory copy replaceAll:$/ with:$\ );
|
9535
|
679 |
yourself
|
9567
|
680 |
|
9886
|
681 |
"Modified: / 14-09-2006 / 18:59:19 / cg"
|
9535
|
682 |
!
|
|
683 |
|
9532
|
684 |
subProjectLine_nt_dot_mak_mappings: aProjectID
|
9557
|
685 |
^ Dictionary new
|
9886
|
686 |
at: 'LIBRARY_NAME' put: (self libraryNameFor: aProjectID );
|
|
687 |
at: 'PATH_TO_SUB_PROJECT' put: ( (PackageId from:aProjectID) module,'\',(PackageId from:aProjectID) directory copy replaceAll:$/ with:$\ );
|
|
688 |
at: 'PATH_TO_MYPROJECT' put: (self msdosPathToPackage: self package from: aProjectID);
|
9557
|
689 |
yourself
|
9532
|
690 |
|
9886
|
691 |
"Modified: / 14-09-2006 / 18:59:26 / cg"
|
9532
|
692 |
! !
|
|
693 |
|
|
694 |
!ApplicationDefinition class methodsFor:'mappings support'!
|
|
695 |
|
9535
|
696 |
generatePreRequisiteLibs_modules_dot_stx
|
9578
|
697 |
^ String streamContents:[:s |
|
|
698 |
self preRequisites do:[:projectID |
|
9687
|
699 |
s nextPutLine:(self libraryNameFor:projectID)
|
|
700 |
].
|
|
701 |
self isGUIApplication ifTrue:[
|
9833
|
702 |
self guiClassFileNames_win32 do:[:eachFilename |
|
9687
|
703 |
s nextPutLine:(eachFilename asFilename withoutSuffix baseName)
|
9535
|
704 |
].
|
9578
|
705 |
].
|
9687
|
706 |
].
|
9535
|
707 |
|
|
708 |
"
|
9687
|
709 |
bosch_dapasx_application generatePreRequisiteLibs_modules_dot_stx
|
9535
|
710 |
"
|
9567
|
711 |
|
9833
|
712 |
"Modified: / 07-09-2006 / 17:22:58 / cg"
|
9535
|
713 |
!
|
|
714 |
|
|
715 |
generatePreRequisiteLines_nt_dot_mak
|
9532
|
716 |
|
|
717 |
^ String streamContents:[:s |
|
9535
|
718 |
self preRequisites do:[:eachPackage |
|
9532
|
719 |
|mappings newObjectLine|
|
9535
|
720 |
mappings := self preRequisiteLine_nt_dot_mak_mappings: eachPackage.
|
9532
|
721 |
newObjectLine := self replaceMappings: mappings
|
|
722 |
in: self preRequisiteLine_nt_dot_mak.
|
|
723 |
s nextPutAll:newObjectLine.
|
|
724 |
s cr.
|
9535
|
725 |
].
|
9833
|
726 |
self guiClasses_win32 do:[:eachClass |
|
9535
|
727 |
|mappings newObjectLine|
|
|
728 |
mappings := self preRequisiteLine_nt_dot_mak_mappingsForClass: eachClass.
|
|
729 |
newObjectLine := self replaceMappings: mappings
|
|
730 |
in: self preRequisiteLine_nt_dot_mak.
|
|
731 |
s nextPutAll:newObjectLine.
|
|
732 |
s cr.
|
|
733 |
].
|
|
734 |
|
9532
|
735 |
]
|
|
736 |
"
|
|
737 |
bosch_dapasx_Application generatePreRequisiteLines_make_dot_spec
|
|
738 |
|
|
739 |
"
|
|
740 |
|
|
741 |
"Created: / 09-08-2006 / 11:24:39 / fm"
|
9833
|
742 |
"Modified: / 07-09-2006 / 17:21:45 / cg"
|
9532
|
743 |
!
|
|
744 |
|
|
745 |
generateRequiredLibs_nt_dot_mak
|
9578
|
746 |
^ String streamContents:[:s |
|
9816
|
747 |
s nextPutLine:' \'.
|
9578
|
748 |
self preRequisites do:[:projectID |
|
9816
|
749 |
s space; nextPutAll:(self libraryNameFor:projectID),'.dll'; nextPutLine:' \'.
|
9578
|
750 |
].
|
9535
|
751 |
|
9578
|
752 |
self isGUIApplication ifTrue:[
|
9833
|
753 |
self guiClassFileNames_win32 do:[:eachFilename |
|
9816
|
754 |
s space; nextPutAll:eachFilename; nextPutLine:' \'.
|
9578
|
755 |
].
|
|
756 |
].
|
|
757 |
self subProjects do:[:projectID |
|
9816
|
758 |
s space; nextPutAll:(self libraryNameFor:projectID),'.dll'; nextPutLine:' \'.
|
9535
|
759 |
].
|
9816
|
760 |
s cr.
|
9532
|
761 |
].
|
|
762 |
|
9535
|
763 |
"
|
9816
|
764 |
bosch_dapasx_application generateRequiredLibs_nt_dot_mak
|
9535
|
765 |
"
|
9567
|
766 |
|
9833
|
767 |
"Modified: / 07-09-2006 / 17:22:51 / cg"
|
9532
|
768 |
!
|
|
769 |
|
9535
|
770 |
generateSubProjectLines_modules_dot_stx
|
|
771 |
|string|
|
|
772 |
|
|
773 |
string := String streamContents:[:s |
|
|
774 |
self subProjects do:[:projectID |
|
9687
|
775 |
s nextPutLine:(self libraryNameFor:projectID)
|
9535
|
776 |
].
|
|
777 |
].
|
|
778 |
|
|
779 |
^ string
|
|
780 |
|
|
781 |
"
|
9687
|
782 |
bosch_dapasx_application generateSubProjectLines_modules_dot_stx
|
9535
|
783 |
"
|
9567
|
784 |
|
|
785 |
"Modified: / 17-08-2006 / 17:22:37 / cg"
|
9535
|
786 |
!
|
|
787 |
|
|
788 |
generateSubProjectLines_nt_dot_mak
|
9532
|
789 |
|
|
790 |
^ String streamContents:[:s |
|
9886
|
791 |
self subProjects do:[:projectID |
|
9532
|
792 |
|mappings newObjectLine|
|
9687
|
793 |
|
9886
|
794 |
mappings := self subProjectLine_nt_dot_mak_mappings: projectID.
|
9532
|
795 |
newObjectLine := self replaceMappings: mappings
|
|
796 |
in: self subProjectLine_nt_dot_mak.
|
|
797 |
s nextPutAll:newObjectLine.
|
|
798 |
s cr.
|
|
799 |
]
|
|
800 |
]
|
|
801 |
"
|
9535
|
802 |
bosch_dapasx_application generateSubProjectLinesnt_dot_mak
|
9532
|
803 |
|
|
804 |
"
|
|
805 |
|
|
806 |
"Created: / 09-08-2006 / 11:24:39 / fm"
|
9886
|
807 |
"Modified: / 14-09-2006 / 18:46:09 / cg"
|
9532
|
808 |
! !
|
|
809 |
|
9587
|
810 |
!ApplicationDefinition class methodsFor:'private'!
|
9532
|
811 |
|
9684
|
812 |
addReferencesToClassesFromGlobalsIn:aSetOfClasses to:usedClassReasons
|
|
813 |
aSetOfClasses
|
|
814 |
do:[:aClass |
|
|
815 |
aClass methodsDo:[:method |
|
|
816 |
method usedGlobals
|
|
817 |
do:[:global | |usedClass|
|
|
818 |
usedClass := Smalltalk at: global asSymbol.
|
|
819 |
(usedClass notNil and:[usedClass isClass and:[usedClass isNameSpace not]])
|
|
820 |
ifTrue:[
|
|
821 |
(usedClassReasons at: usedClass ifAbsentPut:[Set new])
|
|
822 |
add: (usedClass name, ' - Referenced by ', aClass name,'>>',method name)
|
|
823 |
]
|
|
824 |
]
|
|
825 |
]
|
|
826 |
].
|
|
827 |
!
|
|
828 |
|
9532
|
829 |
searchForPreRequisites
|
9684
|
830 |
|includedClasses requiredPackageReasons usedClassReasons allSubProjects|
|
9669
|
831 |
|
|
832 |
requiredPackageReasons := Dictionary new.
|
|
833 |
usedClassReasons := Dictionary new.
|
|
834 |
|
|
835 |
includedClasses := Set with:self.
|
|
836 |
self subProjects do:[:projectID |
|
|
837 |
includedClasses addAll: (self searchForClassesWithProject: projectID asSymbol)
|
|
838 |
].
|
9532
|
839 |
|
9684
|
840 |
"/ only search for locals referred to by my methods (assuming that superclasses'
|
|
841 |
"/ requisites are specifief in their package.
|
|
842 |
self addReferencesToClassesFromGlobalsIn:includedClasses to:usedClassReasons.
|
|
843 |
|
9669
|
844 |
includedClasses do:[:cls |
|
|
845 |
cls allSuperclassesDo:[:superClass |
|
|
846 |
(usedClassReasons at: superClass ifAbsentPut:[Set new])
|
|
847 |
add: (superClass name, ' - Superclass of ', cls name).
|
|
848 |
]
|
|
849 |
].
|
|
850 |
includedClasses addAll: (usedClassReasons keys).
|
|
851 |
|
9684
|
852 |
allSubProjects :=
|
|
853 |
(self siblingsAreSubProjects)
|
|
854 |
ifTrue:[ self searchForSiblingProjects ]
|
|
855 |
ifFalse:[ self searchForSubProjects ].
|
9669
|
856 |
|
|
857 |
usedClassReasons
|
9532
|
858 |
keysAndValuesDo:[:usedClass :reasonsPerClass |
|
|
859 |
(allSubProjects includes: usedClass package asString)
|
|
860 |
ifFalse:[
|
|
861 |
usedClass package == Project noProjectID
|
9669
|
862 |
ifFalse:[(requiredPackageReasons at:usedClass package ifAbsentPut:[Set new])
|
|
863 |
addAll:reasonsPerClass.]
|
9532
|
864 |
].
|
|
865 |
].
|
|
866 |
|
9669
|
867 |
Transcript showCR:requiredPackageReasons.
|
|
868 |
^requiredPackageReasons
|
9578
|
869 |
|
|
870 |
"
|
9669
|
871 |
self searchForPreRequisites
|
|
872 |
bosch_dapasx_Application searchForPreRequisites
|
|
873 |
cg_testproject1 searchForPreRequisites
|
9578
|
874 |
"
|
9532
|
875 |
|
|
876 |
"Created: / 07-08-2006 / 20:42:39 / fm"
|
|
877 |
"Modified: / 07-08-2006 / 21:56:25 / fm"
|
9669
|
878 |
"Modified: / 23-08-2006 / 15:38:27 / cg"
|
9587
|
879 |
! !
|
|
880 |
|
9813
|
881 |
!ApplicationDefinition class methodsFor:'queries'!
|
|
882 |
|
|
883 |
canHaveExtensions
|
|
884 |
"return true, if this class allows extensions from other packages.
|
|
885 |
Private classes, namespaces and projectDefinitions dont allow this"
|
|
886 |
|
|
887 |
^ self == ApplicationDefinition
|
|
888 |
|
|
889 |
"
|
|
890 |
Smalltalk allClasses select:[:each | each canHaveExtensions not]
|
|
891 |
"
|
|
892 |
|
|
893 |
"Created: / 30-08-2006 / 15:29:49 / cg"
|
|
894 |
! !
|
|
895 |
|
9725
|
896 |
!ApplicationDefinition class methodsFor:'sanity checks'!
|
|
897 |
|
|
898 |
validateDescription
|
|
899 |
#(
|
|
900 |
startupClassName
|
|
901 |
"/ startupSelector
|
|
902 |
) do:[:sel |
|
|
903 |
(self theMetaclass implements:sel) ifFalse:[
|
|
904 |
Dialog
|
|
905 |
warn:('The %1-method is missing from the description %2!!'
|
|
906 |
bindWith:sel allBold
|
|
907 |
with:self name allBold).
|
|
908 |
AbortSignal raise.
|
|
909 |
].
|
|
910 |
(Error catch:[ self perform:sel ]) ifTrue:[
|
|
911 |
Dialog
|
|
912 |
warn:('The %1-method needs to be edited in the description %2!!'
|
|
913 |
bindWith:sel allBold
|
|
914 |
with:self name allBold).
|
|
915 |
AbortSignal raise.
|
|
916 |
].
|
|
917 |
].
|
|
918 |
! !
|
|
919 |
|
9587
|
920 |
!ApplicationDefinition class methodsFor:'testing'!
|
|
921 |
|
9669
|
922 |
isApplicationDefinition
|
|
923 |
^ self ~~ ApplicationDefinition
|
|
924 |
|
|
925 |
"Created: / 23-08-2006 / 15:17:38 / cg"
|
|
926 |
!
|
|
927 |
|
9587
|
928 |
isProjectDefinition
|
|
929 |
^ self ~~ ApplicationDefinition
|
|
930 |
|
|
931 |
"Created: / 17-08-2006 / 14:11:56 / cg"
|
|
932 |
! !
|
|
933 |
|
|
934 |
!ApplicationDefinition class methodsFor:'update description'!
|
|
935 |
|
9798
|
936 |
forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition
|
|
937 |
super forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition.
|
9587
|
938 |
|
|
939 |
aTwoArgBlock
|
|
940 |
value:self subProjects_code
|
|
941 |
value:'description'.
|
|
942 |
|
|
943 |
aTwoArgBlock
|
|
944 |
value:self preRequisites_code
|
|
945 |
value:'description'.
|
|
946 |
|
9816
|
947 |
(self class implements:#startupClassName) ifFalse:[
|
|
948 |
aTwoArgBlock
|
|
949 |
value:self startupClassName_code
|
|
950 |
value:'description - startup'.
|
|
951 |
].
|
|
952 |
(self class implements:#startupSelector) ifFalse:[
|
|
953 |
aTwoArgBlock
|
|
954 |
value:self startupSelector_code
|
|
955 |
value:'description - startup'.
|
|
956 |
].
|
9725
|
957 |
|
9587
|
958 |
"Created: / 10-08-2006 / 16:35:47 / cg"
|
9816
|
959 |
"Modified: / 30-08-2006 / 19:03:48 / cg"
|
9587
|
960 |
!
|
|
961 |
|
|
962 |
preRequisites_code
|
|
963 |
|preRequisites|
|
|
964 |
|
|
965 |
preRequisites := self preRequisites asSet.
|
|
966 |
preRequisites addAll: self searchForPreRequisites keys.
|
|
967 |
preRequisites removeAll: self excludedFromPreRequisites.
|
|
968 |
|
|
969 |
^ String streamContents:[:s |
|
|
970 |
s nextPutLine:'preRequisites'.
|
|
971 |
s nextPutLine:' ^ #('.
|
|
972 |
preRequisites do:[:eachPackageID |
|
|
973 |
s nextPutLine:eachPackageID asString storeString
|
|
974 |
].
|
|
975 |
s nextPutLine:')'
|
|
976 |
].
|
|
977 |
|
|
978 |
"
|
|
979 |
bosch_dapasx_Application preRequisites_code
|
|
980 |
"
|
|
981 |
|
|
982 |
"Modified: / 08-08-2006 / 19:24:34 / fm"
|
|
983 |
"Created: / 17-08-2006 / 21:28:09 / cg"
|
9532
|
984 |
!
|
|
985 |
|
9725
|
986 |
startupClassName_code
|
|
987 |
^
|
|
988 |
'startupClassName
|
|
989 |
self error:''undefined startupClass''.
|
|
990 |
^ ''<name of class here>''
|
|
991 |
'
|
|
992 |
!
|
|
993 |
|
9823
|
994 |
startupClassName_codeFor:aClassName
|
|
995 |
^
|
|
996 |
'startupClassName
|
|
997 |
^ ''',aClassName,'''
|
|
998 |
'
|
|
999 |
|
|
1000 |
"Created: / 05-09-2006 / 13:40:32 / cg"
|
|
1001 |
!
|
|
1002 |
|
9816
|
1003 |
startupSelector_code
|
|
1004 |
^
|
|
1005 |
'startupSelector
|
|
1006 |
self error:''undefined startupSelector''.
|
|
1007 |
^ #''start'' "startupSelector here"
|
|
1008 |
'
|
|
1009 |
|
|
1010 |
"Created: / 30-08-2006 / 19:02:50 / cg"
|
|
1011 |
!
|
|
1012 |
|
9823
|
1013 |
startupSelector_codeFor:aSelector
|
|
1014 |
^
|
|
1015 |
'startupSelector
|
|
1016 |
^ #''',aSelector,'''
|
|
1017 |
'
|
|
1018 |
|
|
1019 |
"Created: / 05-09-2006 / 13:41:01 / cg"
|
|
1020 |
!
|
|
1021 |
|
9578
|
1022 |
subProjects_code
|
9532
|
1023 |
|subProjects|
|
9578
|
1024 |
|
9684
|
1025 |
subProjects :=
|
|
1026 |
(self siblingsAreSubProjects)
|
|
1027 |
ifTrue:[ self searchForSiblingProjects ]
|
|
1028 |
ifFalse:[ self searchForSubProjects ].
|
|
1029 |
|
9532
|
1030 |
subProjects removeAll: self excludedFromSubProjects.
|
9578
|
1031 |
|
9532
|
1032 |
^ String streamContents:[:s |
|
9578
|
1033 |
s nextPutLine:'subProjects'.
|
|
1034 |
s nextPutLine:' ^ #('.
|
|
1035 |
subProjects do:[:eachPackageID |
|
|
1036 |
s nextPutLine:eachPackageID asString storeString
|
9532
|
1037 |
].
|
9578
|
1038 |
s nextPutLine:')'
|
9532
|
1039 |
].
|
|
1040 |
|
9578
|
1041 |
"
|
|
1042 |
bosch_dapasx subProjectsGeneratedString
|
|
1043 |
stx_goodies subProjectsGeneratedString
|
|
1044 |
"
|
9532
|
1045 |
|
|
1046 |
"Modified: / 08-08-2006 / 19:24:34 / fm"
|
9578
|
1047 |
"Created: / 17-08-2006 / 21:26:51 / cg"
|
9532
|
1048 |
! !
|
|
1049 |
|
|
1050 |
!ApplicationDefinition class methodsFor:'documentation'!
|
|
1051 |
|
|
1052 |
version
|
9893
|
1053 |
^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.32 2006-09-14 18:32:31 cg Exp $'
|
9532
|
1054 |
! !
|