Re-order repos so that packagist always has the lowest priority
parent
4d7ecdcb69
commit
b2076c2462
|
@ -67,7 +67,7 @@ class Factory
|
||||||
$binDir = getenv('COMPOSER_BIN_DIR') ?: $packageConfig['config']['bin-dir'];
|
$binDir = getenv('COMPOSER_BIN_DIR') ?: $packageConfig['config']['bin-dir'];
|
||||||
|
|
||||||
// initialize repository manager
|
// initialize repository manager
|
||||||
$rm = $this->createRepositoryManager($io, $vendorDir);
|
$rm = $this->createRepositoryManager($io);
|
||||||
|
|
||||||
// initialize download manager
|
// initialize download manager
|
||||||
$dm = $this->createDownloadManager($io);
|
$dm = $this->createDownloadManager($io);
|
||||||
|
@ -75,15 +75,17 @@ class Factory
|
||||||
// initialize installation manager
|
// initialize installation manager
|
||||||
$im = $this->createInstallationManager($rm, $dm, $vendorDir, $binDir, $io);
|
$im = $this->createInstallationManager($rm, $dm, $vendorDir, $binDir, $io);
|
||||||
|
|
||||||
|
// load default repository unless it's explicitly disabled
|
||||||
|
if (!isset($packageConfig['repositories']['packagist']) || $packageConfig['repositories']['packagist'] !== false) {
|
||||||
|
$this->addPackagistRepository($rm);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->addLocalRepository($rm, $vendorDir);
|
||||||
|
|
||||||
// load package
|
// load package
|
||||||
$loader = new Package\Loader\RootPackageLoader($rm);
|
$loader = new Package\Loader\RootPackageLoader($rm);
|
||||||
$package = $loader->load($packageConfig);
|
$package = $loader->load($packageConfig);
|
||||||
|
|
||||||
// load default repository unless it's explicitly disabled
|
|
||||||
if (!isset($packageConfig['repositories']['packagist']) || $packageConfig['repositories']['packagist'] !== false) {
|
|
||||||
$rm->addRepository(new Repository\ComposerRepository(array('url' => 'http://packagist.org')));
|
|
||||||
}
|
|
||||||
|
|
||||||
// init locker
|
// init locker
|
||||||
$lockFile = substr($composerFile, -5) === '.json' ? substr($composerFile, 0, -4).'lock' : $composerFile . '.lock';
|
$lockFile = substr($composerFile, -5) === '.json' ? substr($composerFile, 0, -4).'lock' : $composerFile . '.lock';
|
||||||
$locker = new Package\Locker(new JsonFile($lockFile), $rm, md5_file($composerFile));
|
$locker = new Package\Locker(new JsonFile($lockFile), $rm, md5_file($composerFile));
|
||||||
|
@ -102,7 +104,6 @@ class Factory
|
||||||
protected function createRepositoryManager(IOInterface $io, $vendorDir)
|
protected function createRepositoryManager(IOInterface $io, $vendorDir)
|
||||||
{
|
{
|
||||||
$rm = new Repository\RepositoryManager($io);
|
$rm = new Repository\RepositoryManager($io);
|
||||||
$rm->setLocalRepository(new Repository\FilesystemRepository(new JsonFile($vendorDir.'/.composer/installed.json')));
|
|
||||||
$rm->setRepositoryClass('composer', 'Composer\Repository\ComposerRepository');
|
$rm->setRepositoryClass('composer', 'Composer\Repository\ComposerRepository');
|
||||||
$rm->setRepositoryClass('vcs', 'Composer\Repository\VcsRepository');
|
$rm->setRepositoryClass('vcs', 'Composer\Repository\VcsRepository');
|
||||||
$rm->setRepositoryClass('pear', 'Composer\Repository\PearRepository');
|
$rm->setRepositoryClass('pear', 'Composer\Repository\PearRepository');
|
||||||
|
@ -111,6 +112,16 @@ class Factory
|
||||||
return $rm;
|
return $rm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function addLocalRepository(RepositoryManager $rm, $vendorDir)
|
||||||
|
{
|
||||||
|
$rm->setLocalRepository(new Repository\FilesystemRepository(new JsonFile($vendorDir.'/.composer/installed.json')));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function addPackagistRepository(RepositoryManager $rm)
|
||||||
|
{
|
||||||
|
$rm->addRepository(new Repository\ComposerRepository(array('url' => 'http://packagist.org')));
|
||||||
|
}
|
||||||
|
|
||||||
protected function createDownloadManager(IOInterface $io)
|
protected function createDownloadManager(IOInterface $io)
|
||||||
{
|
{
|
||||||
$dm = new Downloader\DownloadManager();
|
$dm = new Downloader\DownloadManager();
|
||||||
|
|
Loading…
Reference in New Issue