Selaa lähdekoodia

Handle metapackages properly in downloadmanager, fixes #2466

Jordi Boggiano 11 vuotta sitten
vanhempi
commit
1d0cc93fbb
1 muutettua tiedostoa jossa 5 lisäystä ja 3 poistoa
  1. 5 3
      src/Composer/Downloader/DownloadManager.php

+ 5 - 3
src/Composer/Downloader/DownloadManager.php

@@ -101,7 +101,6 @@ class DownloadManager
      * Returns downloader for a specific installation type.
      *
      * @param string $type installation type
-     *
      * @return DownloaderInterface
      *
      * @throws \InvalidArgumentException if downloader for provided type is not registered
@@ -120,8 +119,7 @@ class DownloadManager
      * Returns downloader for already installed package.
      *
      * @param PackageInterface $package package instance
-     *
-     * @return DownloaderInterface
+     * @return DownloaderInterface|null
      *
      * @throws \InvalidArgumentException if package has no installation source specified
      * @throws \LogicException           if specific downloader used to load package with
@@ -131,6 +129,10 @@ class DownloadManager
     {
         $installationSource = $package->getInstallationSource();
 
+        if ('metapackage' === $package->getType()) {
+            return;
+        }
+
         if ('dist' === $installationSource) {
             $downloader = $this->getDownloader($package->getDistType());
         } elseif ('source' === $installationSource) {