Disable full platform-check for extensions by default, now set to php-only, refs #9412
parent
fc0d724938
commit
6c31744c04
|
@ -312,8 +312,8 @@
|
||||||
"description": "Defaults to true. If set to false, Composer will not create a composer.lock file."
|
"description": "Defaults to true. If set to false, Composer will not create a composer.lock file."
|
||||||
},
|
},
|
||||||
"platform-check": {
|
"platform-check": {
|
||||||
"type": "boolean",
|
"type": ["boolean", "string"],
|
||||||
"description": "Defaults to true. If set to false, Composer will not create and require a platform_check.php file as part of the autoloader bootstrap."
|
"description": "Defaults to \"php-only\" which checks only the PHP version. Setting to true will also check the presence of required PHP extensions. If set to false, Composer will not create and require a platform_check.php file as part of the autoloader bootstrap."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -350,7 +350,7 @@ EOF;
|
||||||
$checkPlatform = $config->get('platform-check') && $this->ignorePlatformReqs !== true;
|
$checkPlatform = $config->get('platform-check') && $this->ignorePlatformReqs !== true;
|
||||||
$platformCheckContent = null;
|
$platformCheckContent = null;
|
||||||
if ($checkPlatform) {
|
if ($checkPlatform) {
|
||||||
$platformCheckContent = $this->getPlatformCheck($packageMap, $this->ignorePlatformReqs ?: array());
|
$platformCheckContent = $this->getPlatformCheck($packageMap, $this->ignorePlatformReqs ?: array(), $config->get('platform-check'));
|
||||||
if (null === $platformCheckContent) {
|
if (null === $platformCheckContent) {
|
||||||
$checkPlatform = false;
|
$checkPlatform = false;
|
||||||
}
|
}
|
||||||
|
@ -609,7 +609,7 @@ EOF;
|
||||||
return $baseDir . (($path !== false) ? var_export($path, true) : "");
|
return $baseDir . (($path !== false) ? var_export($path, true) : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getPlatformCheck($packageMap, array $ignorePlatformReqs)
|
protected function getPlatformCheck($packageMap, array $ignorePlatformReqs, $checkPlatform)
|
||||||
{
|
{
|
||||||
$lowestPhpVersion = Bound::zero();
|
$lowestPhpVersion = Bound::zero();
|
||||||
$requiredExtensions = array();
|
$requiredExtensions = array();
|
||||||
|
@ -637,7 +637,7 @@ EOF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preg_match('{^ext-(.+)$}iD', $link->getTarget(), $match)) {
|
if ($checkPlatform === true && preg_match('{^ext-(.+)$}iD', $link->getTarget(), $match)) {
|
||||||
// skip extension checks if they have a valid provider/replacer
|
// skip extension checks if they have a valid provider/replacer
|
||||||
if (isset($extensionProviders[$match[1]])) {
|
if (isset($extensionProviders[$match[1]])) {
|
||||||
foreach ($extensionProviders[$match[1]] as $provided) {
|
foreach ($extensionProviders[$match[1]] as $provided) {
|
||||||
|
|
|
@ -428,7 +428,18 @@ EOT
|
||||||
'github-expose-hostname' => array($booleanValidator, $booleanNormalizer),
|
'github-expose-hostname' => array($booleanValidator, $booleanNormalizer),
|
||||||
'htaccess-protect' => array($booleanValidator, $booleanNormalizer),
|
'htaccess-protect' => array($booleanValidator, $booleanNormalizer),
|
||||||
'lock' => array($booleanValidator, $booleanNormalizer),
|
'lock' => array($booleanValidator, $booleanNormalizer),
|
||||||
'platform-check' => array($booleanValidator, $booleanNormalizer),
|
'platform-check' => array(
|
||||||
|
function ($val) {
|
||||||
|
return in_array($val, array('php-only', 'true', 'false', '1', '0'), true);
|
||||||
|
},
|
||||||
|
function ($val) {
|
||||||
|
if ('php-only' === $val) {
|
||||||
|
return 'php-only';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $val !== 'false' && (bool) $val;
|
||||||
|
},
|
||||||
|
),
|
||||||
);
|
);
|
||||||
$multiConfigValues = array(
|
$multiConfigValues = array(
|
||||||
'github-protocols' => array(
|
'github-protocols' => array(
|
||||||
|
|
|
@ -65,7 +65,7 @@ class Config
|
||||||
'htaccess-protect' => true,
|
'htaccess-protect' => true,
|
||||||
'use-github-api' => true,
|
'use-github-api' => true,
|
||||||
'lock' => true,
|
'lock' => true,
|
||||||
'platform-check' => true,
|
'platform-check' => 'php-only',
|
||||||
// valid keys without defaults (auth config stuff):
|
// valid keys without defaults (auth config stuff):
|
||||||
// bitbucket-oauth
|
// bitbucket-oauth
|
||||||
// github-oauth
|
// github-oauth
|
||||||
|
|
Loading…
Reference in New Issue