Browse Source

Merge pull request #2153 from renanbr/archive-prefer-dist

prefer-dist and archive synchronized
Nils Adermann 11 years ago
parent
commit
c6aa97ed8a

+ 2 - 1
src/Composer/Command/ArchiveCommand.php

@@ -68,7 +68,8 @@ EOT
     {
         $config = Factory::createConfig();
         $factory = new Factory;
-        $archiveManager = $factory->createArchiveManager($config);
+        $downloadManager = $factory->createDownloadManager($io, $config);
+        $archiveManager = $factory->createArchiveManager($config, $downloadManager);
 
         if ($packageName) {
             $package = $this->selectPackage($io, $packageName, $version);

+ 13 - 0
src/Composer/Factory.php

@@ -316,6 +316,19 @@ class Factory
         }
 
         $dm = new Downloader\DownloadManager();
+        switch ($config->get('preferred-install')) {
+            case 'dist':
+                $dm->setPreferDist(true);
+                break;
+            case 'source':
+                $dm->setPreferSource(true);
+                break;
+            case 'auto':
+            default:
+                // noop
+                break;
+        }
+
         $dm->setDownloader('git', new Downloader\GitDownloader($io, $config));
         $dm->setDownloader('svn', new Downloader\SvnDownloader($io, $config));
         $dm->setDownloader('hg', new Downloader\HgDownloader($io, $config));

+ 1 - 1
src/Composer/Package/Archiver/ArchiveManager.php

@@ -138,7 +138,7 @@ class ArchiveManager
             $filesystem->ensureDirectoryExists($sourcePath);
 
             // Download sources
-            $this->downloadManager->download($package, $sourcePath, true);
+            $this->downloadManager->download($package, $sourcePath);
         }
 
         // Create the archive