diff --git a/src/Composer/Command/CreateProjectCommand.php b/src/Composer/Command/CreateProjectCommand.php index 3dff39eb8..69e083b3b 100644 --- a/src/Composer/Command/CreateProjectCommand.php +++ b/src/Composer/Command/CreateProjectCommand.php @@ -82,12 +82,13 @@ EOT $dm->setPreferSource(true); } + $config = Factory::createConfig(); if (null === $repositoryUrl) { - $sourceRepo = new ComposerRepository(array('url' => 'http://packagist.org'), $io); + $sourceRepo = new ComposerRepository(array('url' => 'http://packagist.org'), $io, $config); } elseif ("json" === pathinfo($repositoryUrl, PATHINFO_EXTENSION)) { $sourceRepo = new FilesystemRepository(new JsonFile($repositoryUrl, new RemoteFilesystem($io))); } elseif (0 === strpos($repositoryUrl, 'http')) { - $sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io); + $sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io, $config); } else { throw new \InvalidArgumentException("Invalid repository url given. Has to be a .json file or an http url."); } @@ -112,7 +113,7 @@ EOT $io->write('Installing ' . $package->getName() . ' as new project.', true); $projectInstaller = new ProjectInstaller($directory, $dm); - $projectInstaller->install($package); + $projectInstaller->install(new FilesystemRepository(new JsonFile('php://memory')), $package); $io->write('Created project into directory ' . $directory . '', true); chdir($directory); diff --git a/src/Composer/Command/InitCommand.php b/src/Composer/Command/InitCommand.php index e72f01e73..b1e778daa 100644 --- a/src/Composer/Command/InitCommand.php +++ b/src/Composer/Command/InitCommand.php @@ -13,6 +13,7 @@ namespace Composer\Command; use Composer\Json\JsonFile; +use Composer\Factory; use Composer\Repository\CompositeRepository; use Composer\Repository\PlatformRepository; use Composer\Repository\ComposerRepository; @@ -229,7 +230,7 @@ EOT if (!$this->repos) { $this->repos = new CompositeRepository(array( new PlatformRepository, - new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO()) + new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig()) )); } diff --git a/src/Composer/Command/SearchCommand.php b/src/Composer/Command/SearchCommand.php index 2a25dc66c..659d70904 100644 --- a/src/Composer/Command/SearchCommand.php +++ b/src/Composer/Command/SearchCommand.php @@ -20,6 +20,7 @@ use Composer\Repository\PlatformRepository; use Composer\Repository\ComposerRepository; use Composer\Package\PackageInterface; use Composer\Package\AliasPackage; +use Composer\Factory; /** * @author Robert Schönthal @@ -54,7 +55,7 @@ EOT } else { $output->writeln('No composer.json found in the current directory, showing packages from packagist.org'); $installedRepo = $platformRepo; - $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO()); + $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig()); $repos = new CompositeRepository(array($installedRepo, $packagist)); } diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php index 4c6372f5d..f9f211e46 100644 --- a/src/Composer/Command/ShowCommand.php +++ b/src/Composer/Command/ShowCommand.php @@ -13,6 +13,7 @@ namespace Composer\Command; use Composer\Composer; +use Composer\Factory; use Composer\Package\PackageInterface; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; @@ -65,7 +66,7 @@ EOT } else { $output->writeln('No composer.json found in the current directory, showing packages from packagist.org'); $installedRepo = $platformRepo; - $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO()); + $packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig()); $repos = new CompositeRepository(array($installedRepo, $packagist)); } diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php index 9f32ec27c..9758fc946 100644 --- a/src/Composer/Factory.php +++ b/src/Composer/Factory.php @@ -84,7 +84,7 @@ class Factory } // Configuration defaults - $config = $this->createConfig(); + $config = static::createConfig(); $config->merge($localConfig); $vendorDir = $config->get('vendor-dir');