reqd "print it" gives 2, a SmallInteger (but isEmpty on reqd isn't valid).
resolveToLoadableSpecs: required map: packageMap�
| reqd allReqd map newReqd spec |
reqd := required copy.
allReqd := Set new.
map := self packages map.
[ reqd isEmpty ] whileFalse: [
newReqd := Set new.
reqd do: [:req |�
(self resolveToLoadableSpec: req forMap: map packages: packageMap)�
do: [:loadableSpec |�
newReqd addAll: loadableSpec requires.
newReqd addAll: loadableSpec includes ]].
allReqd addAll: reqd.
newReqd removeAllFoundIn: allReqd.
reqd := newReqd ].
packageMap keys do: [:pkgName |
(spec := (packageMap at: pkgName) resolveToLoadableSpec) == nil
ifTrue: [ packageMap removeKey: pkgName ]
ifFalse: [ packageMap at: pkgName put: (packageMap at: pkgName) resolveToLoadableSpec ]]
--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"
High Octane SPRL
rue cour Boisacq 101
1301 Bierges