PoolBuilder: Move merging of constaints to be loaded into relevant section
parent
b2670945bd
commit
7b990f3767
|
@ -265,22 +265,22 @@ class PoolBuilder
|
||||||
$constraint = $rootRequires[$name];
|
$constraint = $rootRequires[$name];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Maybe it was already marked before but not loaded yet. In that case
|
|
||||||
// we have to extend the constraint (we don't check if they are identical because
|
|
||||||
// MultiConstraint::create() will optimize anyway)
|
|
||||||
if (isset($this->packagesToLoad[$name])) {
|
|
||||||
// Already marked for loading and this does not expand the constraint to be loaded, nothing to do
|
|
||||||
if (Intervals::isSubsetOf($constraint, $this->packagesToLoad[$name])) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// extend the constraint to be loaded
|
|
||||||
$constraint = Intervals::compactConstraint(MultiConstraint::create(array($this->packagesToLoad[$name], $constraint), false));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Not yet loaded or already marked for a reload, override the existing constraint
|
// Not yet loaded or already marked for a reload, override the existing constraint
|
||||||
// (either it's a new one to load, or it has already been extended above)
|
// (either it's a new one to load, or it has already been extended above)
|
||||||
if (!isset($this->loadedPackages[$name])) {
|
if (!isset($this->loadedPackages[$name])) {
|
||||||
|
// Maybe it was already marked before but not loaded yet. In that case
|
||||||
|
// we have to extend the constraint (we don't check if they are identical because
|
||||||
|
// MultiConstraint::create() will optimize anyway)
|
||||||
|
if (isset($this->packagesToLoad[$name])) {
|
||||||
|
// Already marked for loading and this does not expand the constraint to be loaded, nothing to do
|
||||||
|
if (Intervals::isSubsetOf($constraint, $this->packagesToLoad[$name])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// extend the constraint to be loaded
|
||||||
|
$constraint = Intervals::compactConstraint(MultiConstraint::create(array($this->packagesToLoad[$name], $constraint), false));
|
||||||
|
}
|
||||||
|
|
||||||
$this->packagesToLoad[$name] = $constraint;
|
$this->packagesToLoad[$name] = $constraint;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue