From 31092843fd52497c888563f1fe86641ad36ea1eb Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 7 May 2014 18:12:26 +0200 Subject: [PATCH] Only load options when they come from the lock file, not from standard metadata, refs #2189 --- src/Composer/Package/Loader/ArrayLoader.php | 6 ++++-- src/Composer/Package/Locker.php | 2 +- tests/Composer/Test/Package/Loader/ArrayLoaderTest.php | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Composer/Package/Loader/ArrayLoader.php b/src/Composer/Package/Loader/ArrayLoader.php index 23c305d0d..d96de2fa9 100644 --- a/src/Composer/Package/Loader/ArrayLoader.php +++ b/src/Composer/Package/Loader/ArrayLoader.php @@ -25,13 +25,15 @@ use Composer\Package\Version\VersionParser; class ArrayLoader implements LoaderInterface { protected $versionParser; + protected $loadOptions; - public function __construct(VersionParser $parser = null) + public function __construct(VersionParser $parser = null, $loadOptions = false) { if (!$parser) { $parser = new VersionParser; } $this->versionParser = $parser; + $this->loadOptions = $loadOptions; } public function load(array $config, $class = 'Composer\Package\CompletePackage') @@ -197,7 +199,7 @@ class ArrayLoader implements LoaderInterface } } - if (isset($config['options'])) { + if ($this->loadOptions && isset($config['options'])) { $package->setOptions($config['options']); } diff --git a/src/Composer/Package/Locker.php b/src/Composer/Package/Locker.php index a928584e4..ea5297cc3 100644 --- a/src/Composer/Package/Locker.php +++ b/src/Composer/Package/Locker.php @@ -56,7 +56,7 @@ class Locker $this->repositoryManager = $repositoryManager; $this->installationManager = $installationManager; $this->hash = $hash; - $this->loader = new ArrayLoader(); + $this->loader = new ArrayLoader(null, true); $this->dumper = new ArrayDumper(); $this->process = new ProcessExecutor($io); } diff --git a/tests/Composer/Test/Package/Loader/ArrayLoaderTest.php b/tests/Composer/Test/Package/Loader/ArrayLoaderTest.php index 474929307..593461fb7 100644 --- a/tests/Composer/Test/Package/Loader/ArrayLoaderTest.php +++ b/tests/Composer/Test/Package/Loader/ArrayLoaderTest.php @@ -19,7 +19,7 @@ class ArrayLoaderTest extends \PHPUnit_Framework_TestCase { public function setUp() { - $this->loader = new ArrayLoader(); + $this->loader = new ArrayLoader(null, true); } public function testSelfVersion()