|
12 | 12 | namespace Symfony\Flex;
|
13 | 13 |
|
14 | 14 | use Composer\IO\IOInterface;
|
| 15 | +use Composer\Package\AliasPackage; |
15 | 16 | use Composer\Package\PackageInterface;
|
16 | 17 | use Composer\Semver\Constraint\Constraint;
|
17 | 18 | use Composer\Semver\VersionParser;
|
@@ -54,20 +55,25 @@ public function removeLegacyPackages(array $data): array
|
54 | 55 | $oneSymfony = false;
|
55 | 56 | foreach ($data as $package) {
|
56 | 57 | $name = $package->getName();
|
57 |
| - $version = $package->getVersion(); |
| 58 | + $versions = [$package->getVersion()]; |
| 59 | + if ($package instanceof AliasPackage) { |
| 60 | + $versions[] = $package->getAliasOf()->getVersion(); |
| 61 | + } |
58 | 62 | if ('symfony/symfony' !== $name && !isset($knownVersions['splits'][$name])) {
|
59 | 63 | $filteredPackages[] = $package;
|
60 | 64 | continue;
|
61 | 65 | }
|
62 | 66 |
|
63 |
| - if (null !== $alias = $package->getExtra()['branch-alias'][$version] ?? null) { |
64 |
| - $version = $this->versionParser->normalize($alias); |
| 67 | + if (null !== $alias = $package->getExtra()['branch-alias'][$package->getVersion()] ?? null) { |
| 68 | + $versions[] = $this->versionParser->normalize($alias); |
65 | 69 | }
|
66 | 70 |
|
67 |
| - if ($this->symfonyConstraints->matches(new Constraint('==', $version))) { |
68 |
| - $filteredPackages[] = $package; |
69 |
| - $oneSymfony = $oneSymfony || 'symfony/symfony' === $name; |
70 |
| - continue; |
| 71 | + foreach ($versions as $version) { |
| 72 | + if ($this->symfonyConstraints->matches(new Constraint('==', $version))) { |
| 73 | + $filteredPackages[] = $package; |
| 74 | + $oneSymfony = $oneSymfony || 'symfony/symfony' === $name; |
| 75 | + continue 2; |
| 76 | + } |
71 | 77 | }
|
72 | 78 |
|
73 | 79 | if ('symfony/symfony' === $name) {
|
|
0 commit comments