From 6ace5bb651a2d8efb41be1239b76cef687fcfe51 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Thu, 12 Nov 2020 17:06:33 +0100 Subject: [PATCH] Make sure root aliases are marked as such also when loaded from lock file --- src/Composer/Package/AliasPackage.php | 2 +- src/Composer/Package/Locker.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Composer/Package/AliasPackage.php b/src/Composer/Package/AliasPackage.php index 3eb9cf7f3..bd33c4fff 100644 --- a/src/Composer/Package/AliasPackage.php +++ b/src/Composer/Package/AliasPackage.php @@ -431,7 +431,7 @@ class AliasPackage extends BasePackage implements CompletePackageInterface public function __toString() { - return parent::__toString().' (alias of '.$this->aliasOf->getVersion().')'; + return parent::__toString().' ('.($this->rootPackageAlias ? 'root ':''). 'alias of '.$this->aliasOf->getVersion().')'; } public function setDistUrl($url) diff --git a/src/Composer/Package/Locker.php b/src/Composer/Package/Locker.php index 6cf4f1d28..9ddf6d0fa 100644 --- a/src/Composer/Package/Locker.php +++ b/src/Composer/Package/Locker.php @@ -187,7 +187,9 @@ class Locker 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'])); + $aliasPkg = new AliasPackage($packageByName[$alias['package']], $alias['alias_normalized'], $alias['alias']); + $aliasPkg->setRootPackageAlias(true); + $packages->addPackage($aliasPkg); } } }