1
0
Fork 0

Fix #10935 in a more generic way which fixes the issue for all Factory::create usages

pull/10985/head
Jordi Boggiano 2022-07-13 14:13:02 +02:00
parent 37a788932d
commit 0e59fbb46e
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
2 changed files with 9 additions and 1 deletions

View File

@ -403,7 +403,7 @@ EOT
throw new \InvalidArgumentException('Invalid stability provided ('.$stability.'), must be one of: '.implode(', ', array_keys(BasePackage::$stabilities)));
}
$composer = Factory::create($io, $config->all(), $disablePlugins === true ? true : 'local', $disableScripts);
$composer = Factory::create($io, $config->all(), $disablePlugins, $disableScripts);
$config = $composer->getConfig();
$rm = $composer->getRepositoryManager();

View File

@ -646,6 +646,14 @@ class Factory
{
$factory = new static();
// for BC reasons, if a config is passed in either as array or a path that is not the default composer.json path
// we disable local plugins as they really should not be loaded from CWD
// If you want to avoid this behavior, you should be calling createComposer directly with a $cwd arg set correctly
// to the path where the composer.json being loaded resides
if ($config !== null && $config !== self::getComposerFile() && $disablePlugins === false) {
$disablePlugins = 'local';
}
return $factory->createComposer($io, $config, $disablePlugins, null, true, $disableScripts);
}