1
0
Fork 0

Merge branch '1.5'

pull/6864/head
Jordi Boggiano 2017-12-01 14:30:56 +01:00
commit 224d272a0e
1 changed files with 6 additions and 5 deletions

View File

@ -395,7 +395,7 @@ EOT
)); ));
} else { } else {
// check that the specified version/constraint exists before we proceed // check that the specified version/constraint exists before we proceed
$this->findBestVersionForPackage($input, $requirement['name'], $phpVersion, 'dev', $requirement['version']); $this->findBestVersionForPackage($input, $requirement['name'], $phpVersion, $preferredStability, $requirement['version'], 'dev');
} }
$result[] = $requirement['name'] . ' ' . $requirement['version']; $result[] = $requirement['name'] . ' ' . $requirement['version'];
@ -625,10 +625,10 @@ EOT
return false !== filter_var($email, FILTER_VALIDATE_EMAIL); return false !== filter_var($email, FILTER_VALIDATE_EMAIL);
} }
private function getPool(InputInterface $input) private function getPool(InputInterface $input, $minimumStability = null)
{ {
if (!$this->pool) { if (!$this->pool) {
$this->pool = new Pool($this->getMinimumStability($input)); $this->pool = new Pool($minimumStability ?: $this->getMinimumStability($input));
$this->pool->addRepository($this->getRepos()); $this->pool->addRepository($this->getRepos());
} }
@ -660,13 +660,14 @@ EOT
* @param string $name * @param string $name
* @param string $phpVersion * @param string $phpVersion
* @param string $preferredStability * @param string $preferredStability
* @param string $minimumStability
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @return string * @return string
*/ */
private function findBestVersionForPackage(InputInterface $input, $name, $phpVersion, $preferredStability = 'stable', $requiredVersion = null) private function findBestVersionForPackage(InputInterface $input, $name, $phpVersion, $preferredStability = 'stable', $requiredVersion = null, $minimumStability = null)
{ {
// find the latest version allowed in this pool // find the latest version allowed in this pool
$versionSelector = new VersionSelector($this->getPool($input)); $versionSelector = new VersionSelector($this->getPool($input, $minimumStability));
$package = $versionSelector->findBestCandidate($name, $requiredVersion, $phpVersion, $preferredStability); $package = $versionSelector->findBestCandidate($name, $requiredVersion, $phpVersion, $preferredStability);
if (!$package) { if (!$package) {