From c718579623f695cca148ed4ada38d5bc395a83b9 Mon Sep 17 00:00:00 2001 From: Fabien Villepinte Date: Sun, 12 Apr 2020 14:35:23 +0200 Subject: [PATCH] Dispatch POST_STATUS_CMD even when there is no changes --- src/Composer/Command/StatusCommand.php | 28 +++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/Composer/Command/StatusCommand.php b/src/Composer/Command/StatusCommand.php index 116d5b99e..6d836d2bf 100644 --- a/src/Composer/Command/StatusCommand.php +++ b/src/Composer/Command/StatusCommand.php @@ -65,20 +65,37 @@ EOT */ protected function execute(InputInterface $input, OutputInterface $output) { - // init repos $composer = $this->getComposer(); $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'status', $input, $output); $composer->getEventDispatcher()->dispatch($commandEvent->getName(), $commandEvent); + // Dispatch pre-status-command + $composer->getEventDispatcher()->dispatchScript(ScriptEvents::PRE_STATUS_CMD, true); + + $exitCode = $this->doExecute($input, $output); + + // Dispatch post-status-command + $composer->getEventDispatcher()->dispatchScript(ScriptEvents::POST_STATUS_CMD, true); + + return $exitCode; + } + + /** + * @param InputInterface $input + * @param OutputInterface $output + * @return int + */ + private function doExecute(InputInterface $input, OutputInterface $output) + { + // init repos + $composer = $this->getComposer(); + $installedRepo = $composer->getRepositoryManager()->getLocalRepository(); $dm = $composer->getDownloadManager(); $im = $composer->getInstallationManager(); - // Dispatch pre-status-command - $composer->getEventDispatcher()->dispatchScript(ScriptEvents::PRE_STATUS_CMD, true); - $errors = array(); $io = $this->getIO(); $unpushedChanges = array(); @@ -206,9 +223,6 @@ EOT $io->writeError('Use --verbose (-v) to see a list of files'); } - // Dispatch post-status-command - $composer->getEventDispatcher()->dispatchScript(ScriptEvents::POST_STATUS_CMD, true); - return ($errors ? self::EXIT_CODE_ERRORS : 0) + ($unpushedChanges ? self::EXIT_CODE_UNPUSHED_CHANGES : 0) + ($vcsVersionChanges ? self::EXIT_CODE_VERSION_CHANGES : 0); } }