Tools__ProjectBuilderAssistantApplication.st
changeset 2865 2600408a8005
parent 2864 fcdea80a431e
child 2872 78e56e7f9638
equal deleted inserted replaced
2864:fcdea80a431e 2865:2600408a8005
  2293         ^ false
  2293         ^ false
  2294     ].
  2294     ].
  2295     (prj class compiledMethodAt:#startupSelector) isNil ifTrue:[
  2295     (prj class compiledMethodAt:#startupSelector) isNil ifTrue:[
  2296         self infoHolder value:('inherited startup selector is "%1"' bindWith:prj startupSelector). 
  2296         self infoHolder value:('inherited startup selector is "%1"' bindWith:prj startupSelector). 
  2297         impl := prj class whichClassImplements:#startupSelector.
  2297         impl := prj class whichClassImplements:#startupSelector.
  2298         impl theNonMetaclass isAbstract ifTrue:[
  2298         impl isNil ifTrue:[
  2299             self infoHolder value:('must redefine startup selector method (#startupSelector) in "%1"' bindWith:prj class name). 
  2299             self infoHolder value:('inherited startup selector (%1) not implemented in %2' 
       
  2300                                     bindWith:prj startupSelector
       
  2301                                     with:prj class name). 
  2300             ^ false
  2302             ^ false
  2301         ].
  2303         ].
  2302     ].
  2304     ].
  2303     (prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[
  2305     (prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[
  2304         self infoHolder value:('startup class method (#startupClassName) must be in package "%1" (is in "%2")' 
  2306         self infoHolder value:('startup class method (#startupClassName) must be in package "%1" (is in "%2")' 
  2318     cls isNil ifTrue:[
  2320     cls isNil ifTrue:[
  2319         self infoHolder value:('startup class "%1" does not exist' bindWith:prj startupClassName).
  2321         self infoHolder value:('startup class "%1" does not exist' bindWith:prj startupClassName).
  2320         ^ false.
  2322         ^ false.
  2321     ].
  2323     ].
  2322     (cls implements:(prj startupSelector)) ifFalse:[
  2324     (cls implements:(prj startupSelector)) ifFalse:[
  2323         self infoHolder value:('startup class "%1" does not implement startup selector "%2"' 
  2325         (cls respondsTo:(prj startupSelector)) ifFalse:[
  2324                 bindWith:cls name
  2326             self infoHolder value:('startup class "%1" does not implement startup selector "%2"' 
  2325                 with:prj startupSelector). 
  2327                     bindWith:cls name
  2326         ^ false
  2328                     with:prj startupSelector). 
       
  2329             ^ false
       
  2330         ].
  2327     ].
  2331     ].
  2328     ^ true.
  2332     ^ true.
  2329 
  2333 
  2330     "Modified: / 04-12-2011 / 20:09:34 / cg"
  2334     "Modified: / 04-12-2011 / 20:18:12 / cg"
  2331 !
  2335 !
  2332 
  2336 
  2333 canEnterDeploy
  2337 canEnterDeploy
  2334     self hasProjectBuilder ifFalse:[
  2338     self hasProjectBuilder ifFalse:[
  2335         self infoHolder value:'no project builder specified'. 
  2339         self infoHolder value:'no project builder specified'.