Validate constraints in require command, fixes #2197
parent
c2dc433fa4
commit
51ea1f03f9
|
@ -20,6 +20,7 @@ use Composer\Factory;
|
||||||
use Composer\Installer;
|
use Composer\Installer;
|
||||||
use Composer\Json\JsonFile;
|
use Composer\Json\JsonFile;
|
||||||
use Composer\Json\JsonManipulator;
|
use Composer\Json\JsonManipulator;
|
||||||
|
use Composer\Package\Version\VersionParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Jérémy Romey <jeremy@free-agent.fr>
|
* @author Jérémy Romey <jeremy@free-agent.fr>
|
||||||
|
@ -80,6 +81,12 @@ EOT
|
||||||
$baseRequirements = array_key_exists($requireKey, $composer) ? $composer[$requireKey] : array();
|
$baseRequirements = array_key_exists($requireKey, $composer) ? $composer[$requireKey] : array();
|
||||||
$requirements = $this->formatRequirements($requirements);
|
$requirements = $this->formatRequirements($requirements);
|
||||||
|
|
||||||
|
// validate requirements format
|
||||||
|
$versionParser = new VersionParser();
|
||||||
|
foreach ($requirements as $constraint) {
|
||||||
|
$versionParser->parseConstraints($constraint);
|
||||||
|
}
|
||||||
|
|
||||||
if (!$this->updateFileCleanly($json, $baseRequirements, $requirements, $requireKey)) {
|
if (!$this->updateFileCleanly($json, $baseRequirements, $requirements, $requireKey)) {
|
||||||
foreach ($requirements as $package => $version) {
|
foreach ($requirements as $package => $version) {
|
||||||
$baseRequirements[$package] = $version;
|
$baseRequirements[$package] = $version;
|
||||||
|
|
Loading…
Reference in New Issue