mirror of
https://github.com/composer/composer
synced 2025-05-09 16:42:57 +00:00
Fix handling of inline-update-constraints with refs or stability flags, fixes #9847
This commit is contained in:
parent
a677d3e9a4
commit
a844fce23e
2 changed files with 18 additions and 8 deletions
|
@ -16,6 +16,7 @@ use Composer\Composer;
|
|||
use Composer\DependencyResolver\Request;
|
||||
use Composer\Installer;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Package\Loader\RootPackageLoader;
|
||||
use Composer\Plugin\CommandEvent;
|
||||
use Composer\Plugin\PluginEvents;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
|
@ -139,8 +140,9 @@ EOT
|
|||
}
|
||||
}
|
||||
|
||||
$rootRequires = $composer->getPackage()->getRequires();
|
||||
$rootDevRequires = $composer->getPackage()->getDevRequires();
|
||||
$rootPackage = $composer->getPackage();
|
||||
$rootRequires = $rootPackage->getRequires();
|
||||
$rootDevRequires = $rootPackage->getDevRequires();
|
||||
foreach ($reqs as $package => $constraint) {
|
||||
if (isset($rootRequires[$package])) {
|
||||
$rootRequires[$package] = $this->appendConstraintToLink($rootRequires[$package], $constraint);
|
||||
|
@ -150,8 +152,10 @@ EOT
|
|||
throw new \UnexpectedValueException('Only root package requirements can receive temporary constraints and '.$package.' is not one');
|
||||
}
|
||||
}
|
||||
$composer->getPackage()->setRequires($rootRequires);
|
||||
$composer->getPackage()->setDevRequires($rootDevRequires);
|
||||
$rootPackage->setRequires($rootRequires);
|
||||
$rootPackage->setDevRequires($rootDevRequires);
|
||||
$rootPackage->setReferences(RootPackageLoader::extractReferences($reqs, $rootPackage->getReferences()));
|
||||
$rootPackage->setStabilityFlags(RootPackageLoader::extractStabilityFlags($reqs, $rootPackage->getMinimumStability(), $rootPackage->getStabilityFlags()));
|
||||
|
||||
if ($input->getOption('interactive')) {
|
||||
$packages = $this->getPackagesInteractively($io, $input, $output, $composer, $packages);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue