From b84c3f0268d0aad8ba6752a536f3f6532dc62983 Mon Sep 17 00:00:00 2001 From: Craig Duncan Date: Mon, 8 Sep 2014 11:44:36 +0100 Subject: [PATCH] Don't display the dev warning time when running self-update Use the Application::find() method to resolve the command name, as Application::getCommandName() only returns whatever was entered as the first argument. If the user only entered enough of the command to be unambiguous (eg self-up) then the warning would still show By calling Application::find() we ensure that if we are going to run the self-update command then we will not show the warning, no matter what the user entered --- src/Composer/Console/Application.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Composer/Console/Application.php b/src/Composer/Console/Application.php index 4ecb8b1a3..e0037f655 100644 --- a/src/Composer/Console/Application.php +++ b/src/Composer/Console/Application.php @@ -94,9 +94,17 @@ class Application extends BaseApplication $output->writeln('Composer only officially supports PHP 5.3.2 and above, you will most likely encounter problems with your PHP '.PHP_VERSION.', upgrading is strongly recommended.'); } - if (defined('COMPOSER_DEV_WARNING_TIME') && $this->getCommandName($input) !== 'self-update' && $this->getCommandName($input) !== 'selfupdate') { - if (time() > COMPOSER_DEV_WARNING_TIME) { - $output->writeln(sprintf('Warning: This development build of composer is over 30 days old. It is recommended to update it by running "%s self-update" to get the latest version.', $_SERVER['PHP_SELF'])); + if (defined('COMPOSER_DEV_WARNING_TIME')) { + $commandName = ''; + if ($name = $this->getCommandName($input)) { + try { + $commandName = $this->find($name)->getName(); + } catch (\InvalidArgumentException $e) {} + } + if ($commandName !== 'self-update' && $commandName !== 'selfupdate') { + if (time() > COMPOSER_DEV_WARNING_TIME) { + $output->writeln(sprintf('Warning: This development build of composer is over 30 days old. It is recommended to update it by running "%s self-update" to get the latest version.', $_SERVER['PHP_SELF'])); + } } }