Fix creation of ComposerRepository, refs #587
parent
24ca3e440e
commit
7837be0621
|
@ -82,12 +82,13 @@ EOT
|
||||||
$dm->setPreferSource(true);
|
$dm->setPreferSource(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$config = Factory::createConfig();
|
||||||
if (null === $repositoryUrl) {
|
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)) {
|
} elseif ("json" === pathinfo($repositoryUrl, PATHINFO_EXTENSION)) {
|
||||||
$sourceRepo = new FilesystemRepository(new JsonFile($repositoryUrl, new RemoteFilesystem($io)));
|
$sourceRepo = new FilesystemRepository(new JsonFile($repositoryUrl, new RemoteFilesystem($io)));
|
||||||
} elseif (0 === strpos($repositoryUrl, 'http')) {
|
} elseif (0 === strpos($repositoryUrl, 'http')) {
|
||||||
$sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io);
|
$sourceRepo = new ComposerRepository(array('url' => $repositoryUrl), $io, $config);
|
||||||
} else {
|
} else {
|
||||||
throw new \InvalidArgumentException("Invalid repository url given. Has to be a .json file or an http url.");
|
throw new \InvalidArgumentException("Invalid repository url given. Has to be a .json file or an http url.");
|
||||||
}
|
}
|
||||||
|
@ -112,7 +113,7 @@ EOT
|
||||||
|
|
||||||
$io->write('<info>Installing ' . $package->getName() . ' as new project.</info>', true);
|
$io->write('<info>Installing ' . $package->getName() . ' as new project.</info>', true);
|
||||||
$projectInstaller = new ProjectInstaller($directory, $dm);
|
$projectInstaller = new ProjectInstaller($directory, $dm);
|
||||||
$projectInstaller->install($package);
|
$projectInstaller->install(new FilesystemRepository(new JsonFile('php://memory')), $package);
|
||||||
|
|
||||||
$io->write('<info>Created project into directory ' . $directory . '</info>', true);
|
$io->write('<info>Created project into directory ' . $directory . '</info>', true);
|
||||||
chdir($directory);
|
chdir($directory);
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
namespace Composer\Command;
|
namespace Composer\Command;
|
||||||
|
|
||||||
use Composer\Json\JsonFile;
|
use Composer\Json\JsonFile;
|
||||||
|
use Composer\Factory;
|
||||||
use Composer\Repository\CompositeRepository;
|
use Composer\Repository\CompositeRepository;
|
||||||
use Composer\Repository\PlatformRepository;
|
use Composer\Repository\PlatformRepository;
|
||||||
use Composer\Repository\ComposerRepository;
|
use Composer\Repository\ComposerRepository;
|
||||||
|
@ -229,7 +230,7 @@ EOT
|
||||||
if (!$this->repos) {
|
if (!$this->repos) {
|
||||||
$this->repos = new CompositeRepository(array(
|
$this->repos = new CompositeRepository(array(
|
||||||
new PlatformRepository,
|
new PlatformRepository,
|
||||||
new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO())
|
new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig())
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ use Composer\Repository\PlatformRepository;
|
||||||
use Composer\Repository\ComposerRepository;
|
use Composer\Repository\ComposerRepository;
|
||||||
use Composer\Package\PackageInterface;
|
use Composer\Package\PackageInterface;
|
||||||
use Composer\Package\AliasPackage;
|
use Composer\Package\AliasPackage;
|
||||||
|
use Composer\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Robert Schönthal <seroscho@googlemail.com>
|
* @author Robert Schönthal <seroscho@googlemail.com>
|
||||||
|
@ -54,7 +55,7 @@ EOT
|
||||||
} else {
|
} else {
|
||||||
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
||||||
$installedRepo = $platformRepo;
|
$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));
|
$repos = new CompositeRepository(array($installedRepo, $packagist));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
namespace Composer\Command;
|
namespace Composer\Command;
|
||||||
|
|
||||||
use Composer\Composer;
|
use Composer\Composer;
|
||||||
|
use Composer\Factory;
|
||||||
use Composer\Package\PackageInterface;
|
use Composer\Package\PackageInterface;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
|
@ -65,7 +66,7 @@ EOT
|
||||||
} else {
|
} else {
|
||||||
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
||||||
$installedRepo = $platformRepo;
|
$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));
|
$repos = new CompositeRepository(array($installedRepo, $packagist));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ class Factory
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration defaults
|
// Configuration defaults
|
||||||
$config = $this->createConfig();
|
$config = static::createConfig();
|
||||||
$config->merge($localConfig);
|
$config->merge($localConfig);
|
||||||
|
|
||||||
$vendorDir = $config->get('vendor-dir');
|
$vendorDir = $config->get('vendor-dir');
|
||||||
|
|
Loading…
Reference in New Issue