Skip to content

Commit 367c9ec

Browse files
committed
Fix partial updates of packages
1 parent 83e35ed commit 367c9ec

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

Diff for: src/PackageSelection/PackageSelection.php

+16-7
Original file line numberDiff line numberDiff line change
@@ -916,17 +916,26 @@ private function filterRepositories(array $repositories): array
916916
return array_filter(
917917
$repositories,
918918
function ($repository) {
919-
if (!($repository instanceof ConfigurableRepositoryInterface)) {
920-
return false;
921-
}
919+
if ($repository instanceof ConfigurableRepositoryInterface) {
922920

923-
$config = $repository->getRepoConfig();
921+
$config = $repository->getRepoConfig();
922+
if (!isset($config['url'])) {
923+
return false;
924+
}
925+
return in_array($config['url'], $this->repositoriesFilter ?? [], true);
926+
927+
} else if ($repository instanceof ArrayRepository) {
928+
$packages = $repository->getPackages();
929+
foreach ($packages as $package) {
930+
if (in_array($package->getSourceUrl(), $this->repositoriesFilter ?? [], true)) {
931+
return true;
932+
}
933+
}
924934

925-
if (!isset($config['url'])) {
935+
return false;
936+
} else {
926937
return false;
927938
}
928-
929-
return in_array($config['url'], $this->repositoriesFilter ?? [], true);
930939
}
931940
);
932941
}

0 commit comments

Comments
 (0)