1
0
Fork 0

Fix show command, refactor RepositorySet constructor

pull/8566/head
Jordi Boggiano 2020-01-30 20:21:17 +01:00
parent 38f6ae2c4e
commit 2f4ea3a463
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
9 changed files with 22 additions and 14 deletions

View File

@ -311,7 +311,7 @@ EOT
throw new \InvalidArgumentException('Invalid stability provided ('.$stability.'), must be one of: '.implode(', ', array_keys(BasePackage::$stabilities)));
}
$repositorySet = new RepositorySet(array(), array(), $stability);
$repositorySet = new RepositorySet($stability);
$repositorySet->addRepository($sourceRepo);
$phpVersion = null;

View File

@ -693,7 +693,7 @@ EOT
$key = $minimumStability ?: 'default';
if (!isset($this->repositorySets[$key])) {
$this->repositorySets[$key] = $repositorySet = new RepositorySet(array(), array(), $minimumStability ?: $this->getMinimumStability($input));
$this->repositorySets[$key] = $repositorySet = new RepositorySet($minimumStability ?: $this->getMinimumStability($input));
$repositorySet->addRepository($this->getRepos());
}

View File

@ -541,7 +541,8 @@ EOT
$constraint = is_string($version) ? $this->versionParser->parseConstraints($version) : $version;
$policy = new DefaultPolicy();
$repositorySet = new RepositorySet(array(), array(), 'dev');
$repositorySet = new RepositorySet('dev');
$repositorySet->allowInstalledRepositories();
$repositorySet->addRepository($repos);
$matchedPackage = null;
@ -1194,7 +1195,7 @@ EOT
private function getRepositorySet(Composer $composer)
{
if (!$this->repositorySet) {
$this->repositorySet = new RepositorySet(array(), array(), $composer->getPackage()->getMinimumStability(), $composer->getPackage()->getStabilityFlags());
$this->repositorySet = new RepositorySet($composer->getPackage()->getMinimumStability(), $composer->getPackage()->getStabilityFlags());
$this->repositorySet->addRepository(new CompositeRepository($composer->getRepositoryManager()->getRepositories()));
}

View File

@ -719,7 +719,7 @@ class Installer
$this->fixedRootPackage->setRequires(array());
$this->fixedRootPackage->setDevRequires(array());
$repositorySet = new RepositorySet($rootAliases, $this->package->getReferences(), $minimumStability, $stabilityFlags, $rootRequires);
$repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $rootAliases, $this->package->getReferences(), $rootRequires);
$repositorySet->addRepository(new RootPackageRepository(array($this->fixedRootPackage)));
$repositorySet->addRepository($platformRepo);
if ($this->additionalFixedRepository) {
@ -873,7 +873,7 @@ class Installer
}
}
$repositorySet = new RepositorySet(array(), array(), 'dev');
$repositorySet = new RepositorySet('dev');
$repositorySet->addRepository($lockRepo);
$seen = array();

View File

@ -158,7 +158,7 @@ class PluginManager
$localRepo = $this->composer->getRepositoryManager()->getLocalRepository();
$globalRepo = $this->globalComposer ? $this->globalComposer->getRepositoryManager()->getLocalRepository() : null;
$repositorySet = new RepositorySet(array(), array(), 'dev');
$repositorySet = new RepositorySet('dev');
$repositorySet->addRepository($localRepo);
if ($globalRepo) {
$repositorySet->addRepository($globalRepo);

View File

@ -56,8 +56,10 @@ class RepositorySet
/** @var bool */
private $locked = false;
/** @var bool */
private $allowInstalledRepositories = false;
public function __construct(array $rootAliases = array(), array $rootReferences = array(), $minimumStability = 'stable', array $stabilityFlags = array(), array $rootRequires = array())
public function __construct($minimumStability = 'stable', array $stabilityFlags = array(), array $rootAliases = array(), array $rootReferences = array(), array $rootRequires = array())
{
$this->rootAliases = $rootAliases;
$this->rootReferences = $rootReferences;
@ -77,6 +79,11 @@ class RepositorySet
}
}
public function allowInstalledRepositories($allow = true)
{
$this->allowInstalledRepositories = $allow;
}
public function getRootRequires()
{
return $this->rootRequires;
@ -186,7 +193,7 @@ class RepositorySet
$poolBuilder = new PoolBuilder($this->acceptableStabilities, $this->stabilityFlags, $this->rootAliases, $this->rootReferences);
foreach ($this->repositories as $repo) {
if ($repo instanceof InstalledRepositoryInterface) {
if ($repo instanceof InstalledRepositoryInterface && !$this->allowInstalledRepositories) {
throw new \LogicException('The pool can not accept packages from an installed repository');
}
}

View File

@ -36,7 +36,7 @@ class DefaultPolicyTest extends TestCase
public function setUp()
{
$this->repositorySet = new RepositorySet(array(), array(), 'dev');
$this->repositorySet = new RepositorySet('dev');
$this->repo = new ArrayRepository;
$this->repoLocked = new LockArrayRepository;
@ -144,7 +144,7 @@ class DefaultPolicyTest extends TestCase
$this->assertSame($expected, $selected);
$this->repositorySet = new RepositorySet(array(), array(), 'dev');
$this->repositorySet = new RepositorySet('dev');
$this->repositorySet->addRepository($repo2);
$this->repositorySet->addRepository($repo1);
@ -250,7 +250,7 @@ class DefaultPolicyTest extends TestCase
$repo->addPackage($packageA = clone $packageA);
$repo->addPackage($packageB = clone $packageB);
$repositorySet = new RepositorySet(array(), array(), 'dev');
$repositorySet = new RepositorySet('dev');
$repositorySet->addRepository($this->repo);
$pool = $this->repositorySet->createPoolForPackages(array('vendor-a/replacer', 'vendor-b/replacer'), $this->repoLocked);

View File

@ -74,7 +74,7 @@ class PoolBuilderTest extends TestCase
return $pkg;
};
$repositorySet = new RepositorySet($normalizedAliases, array(), $minimumStability, $stabilityFlags);
$repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $normalizedAliases);
$repositorySet->addRepository($repo = new ArrayRepository());
foreach ($packages as $package) {
$repo->addPackage($loadPackage($package));

View File

@ -38,7 +38,7 @@ class SolverTest extends TestCase
public function setUp()
{
$this->repoSet = new RepositorySet(array());
$this->repoSet = new RepositorySet();
$this->repo = new ArrayRepository;
$this->repoLocked = new LockArrayRepository;