6596 ]. |
6596 ]. |
6597 (Dialog confirm:'The set of classes in the image is different from the listed classes in the project definition.\\Proceed?' withCRs) ifFalse:[ |
6597 (Dialog confirm:'The set of classes in the image is different from the listed classes in the project definition.\\Proceed?' withCRs) ifFalse:[ |
6598 AbortSignal raiseRequest |
6598 AbortSignal raiseRequest |
6599 ] |
6599 ] |
6600 ]. |
6600 ]. |
6601 self validateOrderOfClasses |
6601 "/ self validateOrderOfClasses |
6602 |
6602 |
6603 " |
6603 " |
6604 squeak_vmMaker validateDescription |
6604 squeak_vmMaker validateDescription |
6605 " |
6605 " |
6606 |
6606 |
6607 "Modified: / 05-03-2012 / 12:16:08 / cg" |
6607 "Modified: / 06-03-2012 / 11:31:37 / cg" |
6608 ! |
6608 ! |
6609 |
6609 |
6610 validateOrderOfClasses |
6610 validateOrderOfClasses |
6611 "check if the project's classes are listed in the correct dependency order in the classList. |
6611 "check if the project's classes are listed in the correct dependency order in the classList. |
6612 This is required, because the generated makefile will compile files in that order, |
6612 This would be required, if the generated makefile would compile files in that order, |
6613 and superclasses must be compiled before subclasses (for the header files)" |
6613 and superclasses must be compiled before subclasses (for the header files). |
|
6614 However, the makefile list is generated by a separate mechanism, so that is not requiered." |
6614 |
6615 |
6615 |classesInDescriptionInOrder classesInProject already| |
6616 |classesInDescriptionInOrder classesInProject already| |
6616 |
6617 |
6617 classesInDescriptionInOrder := OrderedCollection new. |
6618 classesInDescriptionInOrder := OrderedCollection new. |
6618 classesInDescriptionInOrder := |
6619 classesInDescriptionInOrder := |
6630 already := Set new. |
6631 already := Set new. |
6631 classesInDescriptionInOrder do:[:eachClass | |
6632 classesInDescriptionInOrder do:[:eachClass | |
6632 eachClass allSuperclassesDo:[:superclass | |
6633 eachClass allSuperclassesDo:[:superclass | |
6633 (classesInProject includes:superclass) ifTrue:[ |
6634 (classesInProject includes:superclass) ifTrue:[ |
6634 "/ if in the set, it must have been already listed |
6635 "/ if in the set, it must have been already listed |
6635 self assert:(already includes:superclass) message:'superclass not compiled before' |
6636 self |
|
6637 assert:(already includes:superclass) |
|
6638 message:('superclass "%1" not compiled before "%2"' |
|
6639 bindWith:superclass name |
|
6640 with:eachClass name). |
6636 ]. |
6641 ]. |
6637 ]. |
6642 ]. |
6638 already add:eachClass. |
6643 already add:eachClass. |
6639 ]. |
6644 ]. |
6640 |
6645 |
6713 ! ! |
6718 ! ! |
6714 |
6719 |
6715 !ProjectDefinition class methodsFor:'documentation'! |
6720 !ProjectDefinition class methodsFor:'documentation'! |
6716 |
6721 |
6717 version |
6722 version |
6718 ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.382 2012-03-05 12:00:02 cg Exp $' |
6723 ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.383 2012-03-06 10:32:41 cg Exp $' |
6719 ! |
6724 ! |
6720 |
6725 |
6721 version_CVS |
6726 version_CVS |
6722 ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.382 2012-03-05 12:00:02 cg Exp $' |
6727 ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.383 2012-03-06 10:32:41 cg Exp $' |
6723 ! |
6728 ! |
6724 |
6729 |
6725 version_SVN |
6730 version_SVN |
6726 ^ '§ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1 §' |
6731 ^ '§ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1 §' |
6727 ! ! |
6732 ! ! |