1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-11 01:22:54 +00:00

Implement getProviders equally on all repos

This commit is contained in:
Jordi Boggiano 2020-03-12 15:30:20 +01:00
parent 8a83d5cc35
commit 08cee4c3e9
No known key found for this signature in database
GPG key ID: 7BBD42C429EC80BC
7 changed files with 107 additions and 39 deletions

View file

@ -167,23 +167,8 @@ class RepositorySet
{
$providers = array();
foreach ($this->repositories as $repository) {
if ($repository instanceof ComposerRepository) {
if ($repoProviders = $repository->getProviders($packageName)) {
$providers = array_merge($providers, $repoProviders);
}
} else {
foreach ($repository->getPackages() as $candidate) {
foreach ($candidate->getProvides() as $link) {
if ($packageName === $link->getTarget()) {
$providers[] = array(
'name' => $candidate->getName(),
'description' => $candidate->getDescription(),
'type' => $candidate->getType(),
);
continue 2;
}
}
}
if ($repoProviders = $repository->getProviders($packageName)) {
$providers = array_merge($providers, $repoProviders);
}
}