#BUGFIX by cg
class: ProjectDefinition class
changed: #effectiveSubProjects:
FIX: care for a package to be both in the prereqs
and in the subProjects, to NOT be listed twice in
the makefile rules.
This has lead to an error in make (too many rules for...)
--- a/ProjectDefinition.st Tue Jan 22 14:02:04 2019 +0100
+++ b/ProjectDefinition.st Tue Jan 22 14:45:56 2019 +0100
@@ -1681,32 +1681,40 @@
"get the subProjects, that are not excluded.
osSymbol can be #win32 or #unix (for now)."
- |subProjects|
-
- subProjects := (self subProjects, self includedInSubProjects) collect:[:eachLine|
- eachLine isString ifTrue:[
- eachLine
- ] ifFalse:[eachLine second = osSymbol ifTrue:[
- eachLine first.
- ] ifFalse:[
- nil.
- ]].
- ] as:OrderedSet.
+ |prereqs subProjects|
+
+ prereqs := self allPreRequisites.
+
+ subProjects := (self subProjects, self includedInSubProjects)
+ collect:[:eachLine|
+ |prj|
+
+ eachLine isString ifTrue:[
+ prj := eachLine
+ ] ifFalse:[
+ eachLine second = osSymbol ifTrue:[
+ prj := eachLine first.
+ ].
+ ].
+ (prereqs includes:prj) ifTrue:[ prj := nil].
+ prj.
+ ] as:OrderedSet.
subProjects remove:self package ifAbsent:[].
subProjects remove:nil ifAbsent:[].
self excludedFromSubProjects do:[:eachLine|
- eachLine isString ifTrue:[
- subProjects remove:eachLine ifAbsent:[].
- ] ifFalse:[eachLine second = osSymbol ifTrue:[
- subProjects remove:eachLine first ifAbsent:[].
- ]].
+ eachLine isString ifTrue:[
+ subProjects remove:eachLine ifAbsent:[].
+ ] ifFalse:[eachLine second = osSymbol ifTrue:[
+ subProjects remove:eachLine first ifAbsent:[].
+ ]].
].
^ subProjects
"Created: / 17-01-2017 / 16:16:03 / stefan"
+ "Modified: / 22-01-2019 / 14:42:51 / Claus Gittinger"
!
excludedFromPreRequisites_code
@@ -2943,6 +2951,7 @@
"Created: / 23-01-2007 / 19:08:27 / cg"
! !
+
!ProjectDefinition class methodsFor:'description - project information'!
applicationAdditionalIconFileNames
@@ -5053,6 +5062,7 @@
^ self subProjectMakeCallsUsing:'call vcmake %1 %2'.
! !
+
!ProjectDefinition class methodsFor:'file templates'!
autopackage_default_dot_apspec
@@ -8395,10 +8405,6 @@
"Modified: / 20-09-2006 / 15:00:00 / cg"
!
-isPluginDefinition
- ^ false
-!
-
isProjectDefinition
"concrete i.e. not abstract"