From d249d0c1218a06a9380a97edee3b7a6b9e42d714 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Fri, 5 Dec 2014 11:58:21 +0000 Subject: [PATCH] Reset composer to load the new requirements, fixes #3511 --- src/Composer/Command/Command.php | 9 +++++++++ src/Composer/Command/RequireCommand.php | 2 ++ src/Composer/Console/Application.php | 8 ++++++++ 3 files changed, 19 insertions(+) diff --git a/src/Composer/Command/Command.php b/src/Composer/Command/Command.php index 862b54e58..b99686219 100644 --- a/src/Composer/Command/Command.php +++ b/src/Composer/Command/Command.php @@ -68,6 +68,15 @@ abstract class Command extends BaseCommand $this->composer = $composer; } + /** + * Removes the cached composer instance + */ + public function resetComposer() + { + $this->composer = null; + $this->getApplication()->resetComposer(); + } + /** * @return IOInterface */ diff --git a/src/Composer/Command/RequireCommand.php b/src/Composer/Command/RequireCommand.php index f20c0420c..55e3752a9 100644 --- a/src/Composer/Command/RequireCommand.php +++ b/src/Composer/Command/RequireCommand.php @@ -125,6 +125,8 @@ EOT $updateDevMode = !$input->getOption('update-no-dev'); // Update packages + $this->resetComposer(); + $composer = $this->getComposer(); $composer->getDownloadManager()->setOutputProgress(!$input->getOption('no-progress')); $io = $this->getIO(); diff --git a/src/Composer/Console/Application.php b/src/Composer/Console/Application.php index e0037f655..6ce2d6682 100644 --- a/src/Composer/Console/Application.php +++ b/src/Composer/Console/Application.php @@ -219,6 +219,14 @@ class Application extends BaseApplication return $this->composer; } + /** + * Removes the cached composer instance + */ + public function resetComposer() + { + $this->composer = null; + } + /** * @return IOInterface */