mirror of
https://github.com/composer/composer
synced 2025-05-09 08:32:56 +00:00
Add internal support for multiple default composer repositories.
This commit is contained in:
parent
762f469cd9
commit
8d6d155153
8 changed files with 130 additions and 30 deletions
|
@ -17,6 +17,7 @@ use Composer\Installer;
|
|||
use Composer\Installer\ProjectInstaller;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Repository\ComposerRepository;
|
||||
use Composer\Repository\CompositeRepository;
|
||||
use Composer\Repository\FilesystemRepository;
|
||||
use Composer\Repository\InstalledFilesystemRepository;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
|
@ -85,7 +86,7 @@ EOT
|
|||
|
||||
$config = Factory::createConfig();
|
||||
if (null === $repositoryUrl) {
|
||||
$sourceRepo = new ComposerRepository(array('url' => 'http://packagist.org'), $io, $config);
|
||||
$sourceRepo = new CompositeRepository(Factory::createComposerRepositories($io, $config));
|
||||
} elseif ("json" === pathinfo($repositoryUrl, PATHINFO_EXTENSION)) {
|
||||
$sourceRepo = new FilesystemRepository(new JsonFile($repositoryUrl, new RemoteFilesystem($io)));
|
||||
} elseif (0 === strpos($repositoryUrl, 'http')) {
|
||||
|
|
|
@ -228,9 +228,9 @@ EOT
|
|||
|
||||
// init repos
|
||||
if (!$this->repos) {
|
||||
$this->repos = new CompositeRepository(array(
|
||||
new PlatformRepository,
|
||||
new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig())
|
||||
$this->repos = new CompositeRepository(array_merge(
|
||||
array(new PlatformRepository),
|
||||
Factory::createComposerRepositories($this->getIO(), Factory::createConfig())
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -53,10 +53,10 @@ EOT
|
|||
$installedRepo = new CompositeRepository(array($localRepo, $platformRepo));
|
||||
$repos = new CompositeRepository(array_merge(array($installedRepo), $composer->getRepositoryManager()->getRepositories()));
|
||||
} else {
|
||||
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
||||
$defaultRepos = Factory::createComposerRepositories($this->getIO(), Factory::createConfig());
|
||||
$output->writeln('No composer.json found in the current directory, showing packages from ' . str_replace('http://', '', implode(', ', array_keys($defaultRepos))));
|
||||
$installedRepo = $platformRepo;
|
||||
$packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig());
|
||||
$repos = new CompositeRepository(array($installedRepo, $packagist));
|
||||
$repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos));
|
||||
}
|
||||
|
||||
$tokens = $input->getArgument('tokens');
|
||||
|
|
|
@ -64,10 +64,10 @@ EOT
|
|||
$installedRepo = new CompositeRepository(array($localRepo, $platformRepo));
|
||||
$repos = new CompositeRepository(array_merge(array($installedRepo), $composer->getRepositoryManager()->getRepositories()));
|
||||
} else {
|
||||
$output->writeln('No composer.json found in the current directory, showing packages from packagist.org');
|
||||
$defaultRepos = Factory::createComposerRepositories($this->getIO(), Factory::createConfig());
|
||||
$output->writeln('No composer.json found in the current directory, showing packages from ' . str_replace('http://', '', implode(', ', array_keys($defaultRepos))));
|
||||
$installedRepo = $platformRepo;
|
||||
$packagist = new ComposerRepository(array('url' => 'http://packagist.org'), $this->getIO(), Factory::createConfig());
|
||||
$repos = new CompositeRepository(array($installedRepo, $packagist));
|
||||
$repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos));
|
||||
}
|
||||
|
||||
// show single package or single version
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue