1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-09 16:42:57 +00:00

Fix handling of aliases to use consistent format everywhere

This commit is contained in:
Jordi Boggiano 2020-04-08 12:20:18 +02:00
parent a695f686c3
commit 64f907f93f
No known key found for this signature in database
GPG key ID: 7BBD42C429EC80BC
3 changed files with 9 additions and 21 deletions

View file

@ -122,8 +122,10 @@ class LockTransaction extends Transaction
foreach ($this->resultPackages['all'] as $package) { foreach ($this->resultPackages['all'] as $package) {
if ($package instanceof AliasPackage) { if ($package instanceof AliasPackage) {
if (isset($aliases[$package->getName()])) { foreach ($aliases as $alias) {
$usedAliases[$package->getName()] = $aliases[$package->getName()]; if ($alias['package'] === $package->getName()) {
$usedAliases[] = $alias;
}
} }
} }
} }

View file

@ -317,24 +317,13 @@ class Locker
'content-hash' => $this->contentHash, 'content-hash' => $this->contentHash,
'packages' => null, 'packages' => null,
'packages-dev' => null, 'packages-dev' => null,
'aliases' => array(), 'aliases' => $aliases,
'minimum-stability' => $minimumStability, 'minimum-stability' => $minimumStability,
'stability-flags' => $stabilityFlags, 'stability-flags' => $stabilityFlags,
'prefer-stable' => $preferStable, 'prefer-stable' => $preferStable,
'prefer-lowest' => $preferLowest, 'prefer-lowest' => $preferLowest,
); );
foreach ($aliases as $package => $versions) {
foreach ($versions as $version => $alias) {
$lock['aliases'][] = array(
'alias' => $alias['alias'],
'alias_normalized' => $alias['alias_normalized'],
'version' => $version,
'package' => $package,
);
}
}
$lock['packages'] = $this->lockPackages($packages); $lock['packages'] = $this->lockPackages($packages);
if (null !== $devPackages) { if (null !== $devPackages) {
$lock['packages-dev'] = $this->lockPackages($devPackages); $lock['packages-dev'] = $this->lockPackages($devPackages);

View file

@ -46,12 +46,9 @@ class PoolBuilderTest extends TestCase
}, $stabilityFlags); }, $stabilityFlags);
$parser = new VersionParser(); $parser = new VersionParser();
$normalizedAliases = array(); foreach ($rootAliases as $index => $alias) {
foreach ($rootAliases as $alias) { $rootAliases[$index]['version'] = $parser->normalize($alias['version']);
$normalizedAliases[$alias['package']][$parser->normalize($alias['version'])] = array( $rootAliases[$index]['alias_normalized'] = $parser->normalize($alias['alias']);
'alias' => $alias['alias'],
'alias_normalized' => $parser->normalize($alias['alias']),
);
} }
$loader = new ArrayLoader(); $loader = new ArrayLoader();
@ -74,7 +71,7 @@ class PoolBuilderTest extends TestCase
return $pkg; return $pkg;
}; };
$repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $normalizedAliases); $repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $rootAliases);
$repositorySet->addRepository($repo = new ArrayRepository()); $repositorySet->addRepository($repo = new ArrayRepository());
foreach ($packages as $package) { foreach ($packages as $package) {
$repo->addPackage($loadPackage($package)); $repo->addPackage($loadPackage($package));