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:
parent
8a83d5cc35
commit
08cee4c3e9
7 changed files with 107 additions and 39 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue