# HG changeset patch # User Claus Gittinger # Date 1363035009 -3600 # Node ID 023690659ed70a3296097e06a8952c01ee94df84 # Parent 8cf2b51872fd2de6f592a1e02d8ad342a3a8b093 class: Tools::ProjectBuilderAssistantApplication changed: #canEnterContentsSelection fix for library building diff -r 8cf2b51872fd -r 023690659ed7 Tools__ProjectBuilderAssistantApplication.st --- a/Tools__ProjectBuilderAssistantApplication.st Mon Mar 11 21:31:15 2013 +0100 +++ b/Tools__ProjectBuilderAssistantApplication.st Mon Mar 11 21:50:09 2013 +0100 @@ -2702,55 +2702,57 @@ ^ false ]. prj := self selectedProjectDefinition. - ([prj startupClassName] on:Error do:nil) notNil ifFalse:[ - self infoHolder value:'Must have a startup class'. - ^ false - ]. - ([prj startupSelector] on:Error do:nil) notNil ifFalse:[ - self infoHolder value:'Must have a startup selector'. - ^ false - ]. - (prj class compiledMethodAt:#startupSelector) isNil ifTrue:[ - self infoHolder value:('Inherited startup selector is "%1"' bindWith:prj startupSelector). - impl := prj class whichClassImplements:#startupSelector. - impl isNil ifTrue:[ - self infoHolder value:('Inherited startup selector (%1) not implemented in %2' - bindWith:prj startupSelector - with:prj class name). + prj isLibraryDefinition ifFalse:[ + ([prj startupClassName] on:Error do:nil) notNil ifFalse:[ + self infoHolder value:'Must have a startup class'. + ^ false + ]. + ([prj startupSelector] on:Error do:nil) notNil ifFalse:[ + self infoHolder value:'Must have a startup selector'. ^ false ]. - ]. - (mthd := prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[ - mthd package == PackageId noProjectID ifFalse:[ - self infoHolder value:('Startup class method (#startupClassName) of %3 must be in package "%1" (is in "%2")' - bindWith:prj package - with:(prj class compiledMethodAt:#startupClassName) package - with:prj class name). - ^ false + (prj class compiledMethodAt:#startupSelector) isNil ifTrue:[ + self infoHolder value:('Inherited startup selector is "%1"' bindWith:prj startupSelector). + impl := prj class whichClassImplements:#startupSelector. + impl isNil ifTrue:[ + self infoHolder value:('Inherited startup selector (%1) not implemented in %2' + bindWith:prj startupSelector + with:prj class name). + ^ false + ]. ]. - ]. - (mthd := prj class compiledMethodAt:#startupSelector) notNil ifTrue:[ - mthd package == prj package ifFalse:[ + (mthd := prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[ mthd package == PackageId noProjectID ifFalse:[ - self infoHolder value:('Startup class method (#startupSelector) of %3 must be in package "%1" (is in "%2")' + self infoHolder value:('Startup class method (#startupClassName) of %3 must be in package "%1" (is in "%2")' bindWith:prj package - with:mthd package + with:(prj class compiledMethodAt:#startupClassName) package with:prj class name). ^ false - ] + ]. + ]. + (mthd := prj class compiledMethodAt:#startupSelector) notNil ifTrue:[ + mthd package == prj package ifFalse:[ + mthd package == PackageId noProjectID ifFalse:[ + self infoHolder value:('Startup class method (#startupSelector) of %3 must be in package "%1" (is in "%2")' + bindWith:prj package + with:mthd package + with:prj class name). + ^ false + ] + ]. ]. - ]. - cls := Smalltalk classNamed:prj startupClassName. - cls isNil ifTrue:[ - self infoHolder value:('Startup class "%1" does not exist' bindWith:prj startupClassName). - ^ false. - ]. - (cls implements:(prj startupSelector)) ifFalse:[ - (cls respondsTo:(prj startupSelector)) ifFalse:[ - self infoHolder value:('Startup class "%1" does not implement startup selector "%2"' - bindWith:cls name - with:prj startupSelector). - ^ false + cls := Smalltalk classNamed:prj startupClassName. + cls isNil ifTrue:[ + self infoHolder value:('Startup class "%1" does not exist' bindWith:prj startupClassName). + ^ false. + ]. + (cls implements:(prj startupSelector)) ifFalse:[ + (cls respondsTo:(prj startupSelector)) ifFalse:[ + self infoHolder value:('Startup class "%1" does not implement startup selector "%2"' + bindWith:cls name + with:prj startupSelector). + ^ false + ]. ]. ]. self infoHolder value:nil.