--- 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"