As described in GH-8289, if no `composer.json` file is found in the current
directory, the user is prompted if she wants to use another `composer.json` file
from a parent directory even if the `COMPOSER_NO_INTERACTION` environment
variable is set. This is fixed here by just moving the check of the environment
variable up in the code so that it is evaluated before the user is prompted.
$io = $this->io = new ConsoleIO($input, $output, new HelperSet(array(
$io = $this->io = new ConsoleIO($input, $output, new HelperSet(array(
new QuestionHelper(),
new QuestionHelper(),
)));
)));
@ -208,10 +212,6 @@ class Application extends BaseApplication
$io->writeError(sprintf('<warning>Warning: This development build of composer is over 60 days old. It is recommended to update it by running "%s self-update" to get the latest version.</warning>', $_SERVER['PHP_SELF']));
$io->writeError(sprintf('<warning>Warning: This development build of composer is over 60 days old. It is recommended to update it by running "%s self-update" to get the latest version.</warning>', $_SERVER['PHP_SELF']));
}
}
if (getenv('COMPOSER_NO_INTERACTION')) {
$input->setInteractive(false);
}
if (!Platform::isWindows() && function_exists('exec') && !getenv('COMPOSER_ALLOW_SUPERUSER')) {
if (!Platform::isWindows() && function_exists('exec') && !getenv('COMPOSER_ALLOW_SUPERUSER')) {
if (function_exists('posix_getuid') && posix_getuid() === 0) {
if (function_exists('posix_getuid') && posix_getuid() === 0) {
if ($commandName !== 'self-update' && $commandName !== 'selfupdate') {
if ($commandName !== 'self-update' && $commandName !== 'selfupdate') {