Ignore platform reqs now handle conflict rules

main
Baptiste Lafontaine 5 years ago
parent e022c07370
commit a4611d511f

@ -233,7 +233,7 @@ class RuleSetGenerator
} }
} }
protected function addConflictRules() protected function addConflictRules($ignorePlatformReqs = false)
{ {
/** @var PackageInterface $package */ /** @var PackageInterface $package */
foreach ($this->addedPackages as $package) { foreach ($this->addedPackages as $package) {
@ -242,6 +242,10 @@ class RuleSetGenerator
continue; continue;
} }
if ($ignorePlatformReqs && preg_match(PlatformRepository::PLATFORM_PACKAGE_REGEX, $link->getTarget())) {
continue;
}
/** @var PackageInterface $possibleConflict */ /** @var PackageInterface $possibleConflict */
foreach ($this->addedPackagesByNames[$link->getTarget()] as $possibleConflict) { foreach ($this->addedPackagesByNames[$link->getTarget()] as $possibleConflict) {
$conflictMatch = $this->pool->match($possibleConflict, $link->getTarget(), $link->getConstraint(), true); $conflictMatch = $this->pool->match($possibleConflict, $link->getTarget(), $link->getConstraint(), true);
@ -362,7 +366,7 @@ class RuleSetGenerator
$this->addRulesForJobs($ignorePlatformReqs); $this->addRulesForJobs($ignorePlatformReqs);
$this->addConflictRules(); $this->addConflictRules($ignorePlatformReqs);
// Remove references to packages // Remove references to packages
$this->addedPackages = $this->addedPackagesByNames = null; $this->addedPackages = $this->addedPackagesByNames = null;

Loading…
Cancel
Save