90 "Modified: / 09-08-2006 / 19:27:53 / fm" |
90 "Modified: / 09-08-2006 / 19:27:53 / fm" |
91 "Modified: / 17-08-2006 / 17:24:23 / cg" |
91 "Modified: / 17-08-2006 / 17:24:23 / cg" |
92 ! ! |
92 ! ! |
93 |
93 |
94 !ProjectDefinition class methodsFor:'accessing'! |
94 !ProjectDefinition class methodsFor:'accessing'! |
|
95 |
|
96 allPreRequisites |
|
97 |setOfAllPreRequisites setOfExcludedPreRequisites setOfExcludedSubProjects allPreRequisites toAdd| |
|
98 |
|
99 setOfExcludedPreRequisites := self excludedFromPreRequisites asSet. |
|
100 setOfExcludedSubProjects := self excludedFromSubProjects asSet. |
|
101 |
|
102 setOfAllPreRequisites := Set new. |
|
103 allPreRequisites := OrderedCollection new. |
|
104 toAdd := OrderedCollection new. |
|
105 toAdd addAll:(self preRequisites). |
|
106 toAdd addAll:(self subProjects ). |
|
107 |
|
108 [toAdd notEmpty] whileTrue:[ |
|
109 |aPreRequisiteProjectID def| |
|
110 |
|
111 aPreRequisiteProjectID := toAdd removeFirst. |
|
112 (setOfAllPreRequisites includes:aPreRequisiteProjectID) ifFalse:[ |
|
113 (setOfExcludedPreRequisites includes:aPreRequisiteProjectID) ifFalse:[ |
|
114 (setOfExcludedSubProjects includes:aPreRequisiteProjectID) ifFalse:[ |
|
115 allPreRequisites add:aPreRequisiteProjectID. |
|
116 setOfAllPreRequisites add:aPreRequisiteProjectID. |
|
117 |
|
118 def := ProjectDefinition definitionClassForPackage:aPreRequisiteProjectID. |
|
119 def isNil ifTrue:[ |
|
120 Transcript showCR:'ProjectDefinition ',aPreRequisiteProjectID,' is missing - cannot find its preRequisites.'. |
|
121 ] ifFalse:[ |
|
122 def preRequisites |
|
123 select:[:eachSubPreRequisite | (setOfAllPreRequisites includes:eachSubPreRequisite) not] |
|
124 thenDo:[:eachSubPreRequisite | |
|
125 Transcript showCR:(aPreRequisiteProjectID,' requires ',eachSubPreRequisite). |
|
126 toAdd add:eachSubPreRequisite ]. |
|
127 def subProjects |
|
128 select:[:eachSubSubRequisite | (setOfAllPreRequisites includes:eachSubSubRequisite) not] |
|
129 thenDo:[:eachSubSubRequisite | |
|
130 Transcript showCR:(aPreRequisiteProjectID,' hasSub ',eachSubSubRequisite). |
|
131 toAdd add:eachSubSubRequisite ]. |
|
132 ]. |
|
133 ] |
|
134 ] |
|
135 ] |
|
136 ]. |
|
137 ^ allPreRequisites. |
|
138 |
|
139 " |
|
140 exept_expeccoNET_application allPreRequisites |
|
141 alspa_batch_application allPreRequisites |
|
142 " |
|
143 ! |
95 |
144 |
96 initialClassNameForDefinitionOf:aPackageId |
145 initialClassNameForDefinitionOf:aPackageId |
97 |s| |
146 |s| |
98 |
147 |
99 s := aPackageId asString copy replaceAny:':/' with:$_. |
148 s := aPackageId asString copy replaceAny:':/' with:$_. |