From 51ea1f03f9088095fd1192278fd67a5fdf8eb5ab Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 26 Aug 2013 13:29:47 +0200 Subject: [PATCH] Validate constraints in require command, fixes #2197 --- src/Composer/Command/RequireCommand.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Composer/Command/RequireCommand.php b/src/Composer/Command/RequireCommand.php index f47445a4e..fb4f9a9b1 100644 --- a/src/Composer/Command/RequireCommand.php +++ b/src/Composer/Command/RequireCommand.php @@ -20,6 +20,7 @@ use Composer\Factory; use Composer\Installer; use Composer\Json\JsonFile; use Composer\Json\JsonManipulator; +use Composer\Package\Version\VersionParser; /** * @author Jérémy Romey @@ -80,6 +81,12 @@ EOT $baseRequirements = array_key_exists($requireKey, $composer) ? $composer[$requireKey] : array(); $requirements = $this->formatRequirements($requirements); + // validate requirements format + $versionParser = new VersionParser(); + foreach ($requirements as $constraint) { + $versionParser->parseConstraints($constraint); + } + if (!$this->updateFileCleanly($json, $baseRequirements, $requirements, $requireKey)) { foreach ($requirements as $package => $version) { $baseRequirements[$package] = $version;