diff -r e47455b96760 -r 61e0576ed0fe ProjectDefinition.st --- a/ProjectDefinition.st Tue Oct 04 12:44:59 2016 +0200 +++ b/ProjectDefinition.st Tue Oct 04 12:56:58 2016 +0200 @@ -1807,6 +1807,7 @@ |preRequisites| preRequisites := self searchForPreRequisites first. + preRequisites removeAllKeys:self excludedFromMandatoryPreRequisites ifAbsent:[]. preRequisites removeAllKeys:self excludedFromPreRequisites ifAbsent:[]. ^ String streamContents:[:s | @@ -1894,6 +1895,7 @@ preRequisites := preRequisitesColl second. preRequisites removeAllKeys:self excludedFromPreRequisites ifAbsent:[]; + removeAllKeys:self excludedFromRequiredPreRequisites ifAbsent:[]; removeAllKeys:preRequisitesColl first keys ifAbsent:[]. "remove the mandatory prerequisites" ^ String streamContents:[:s | @@ -2051,9 +2053,32 @@ !ProjectDefinition class methodsFor:'description'! -excludedFromPreRequisites +excludedFromMandatoryPreRequisites "list packages which are to be explicitely excluded from the automatic constructed - prerequisites list. If empty, everything that is found along the inheritance of any of + mandatory prerequisites list. + If empty, everything that is found along the inheritance of any of + my classes is considered to be a prerequisite package." + + ^ #() +! + +excludedFromPreRequisites + "obsolete; temporarily, this is still called for, but will eventually vanish. + + List packages which are to be explicitely excluded from the automatic constructed + prerequisites lists (both). + If empty, everything that is found along the inheritance of any of + my classes is considered to be a prerequisite package." + + ^ #() + + "Modified: / 17-08-2006 / 19:48:59 / cg" +! + +excludedFromRequiredPreRequisites + "list packages which are to be explicitely excluded from the automatic constructed + required prerequisites list. + If empty, everything that is found along the inheritance of any of my classes is considered to be a prerequisite package." ^ #() @@ -2102,7 +2127,8 @@ ! preRequisites - "list packages which are required as a prerequisite." + "list packages which are required as a prerequisite (both mandatory and referenced). + This is used to build dependency chains in makefiles" "use an OrderedSet here, so that mandatory prerequisites come first" @@ -7138,6 +7164,7 @@ ^ OrderedSet new addAll:self mandatoryPreRequisites; "/ addAll:self includedInPreRequisites; + removeAllFoundIn:self excludedFromMandatoryPreRequisites; removeAllFoundIn:self excludedFromPreRequisites; yourself. ]. @@ -7146,6 +7173,7 @@ ^ Set new addAll:self preRequisites; addAll:self includedInPreRequisites; + removeAllFoundIn:self excludedFromMandatoryPreRequisites; removeAllFoundIn:self excludedFromPreRequisites; remove:self package ifAbsent:[]; yourself. @@ -7155,8 +7183,7 @@ "get the preRequisites, that are not excluded. This method appears to be obsolete, because its functionality is now included in #preRequisites. - But is to be kept for backward compatibilty with old - existing subclasses." + But is to be kept for backward compatibilty with old existing subclasses." self mandatoryPreRequisites notEmpty ifTrue:[ "this is a new subclass - avoid overhead"