Correctly load aliases in lockedRepository to fix alias install output

main
Nils Adermann 5 years ago
parent 3e0e5dc1fa
commit a114e26841

@ -171,8 +171,19 @@ class Locker
}
if (isset($lockedPackages[0]['name'])) {
$packageByName = array();
foreach ($lockedPackages as $info) {
$packages->addPackage($this->loader->load($info));
$package = $this->loader->load($info);
$packages->addPackage($package);
$packageByName[$package->getName()] = $package;
}
if (isset($lockData['aliases'])) {
foreach ($lockData['aliases'] as $alias) {
if (isset($packageByName[$alias['package']])) {
$packages->addPackage(new AliasPackage($packageByName[$alias['package']], $alias['alias_normalized'], $alias['alias']));
}
}
}
return $packages;

@ -43,6 +43,45 @@ Aliases take precedence over default package even if default is selected
},
"minimum-stability": "dev"
}
--EXPECT-LOCK--
{
"packages": [
{
"name": "a/a", "version": "dev-master",
"require": { "a/req": "dev-master" },
"type": "library"
},
{
"name": "a/b", "version": "dev-master",
"require": { "a/req": "dev-master" },
"type": "library"
},
{
"name": "a/req", "version": "dev-feature-foo",
"source": { "reference": "feat.f", "type": "git", "url": "" },
"type": "library"
}
],
"packages-dev": [],
"aliases": [
{
"alias": "dev-master",
"alias_normalized": "9999999-dev",
"version": "dev-feature-foo",
"package": "a/req"
}
],
"minimum-stability": "dev",
"stability-flags": {
"a/a": 20,
"a/b": 20,
"a/req": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
}
--RUN--
install
--EXPECT--

Loading…
Cancel
Save