Improving bin-compat configuration
parent
6a776c5edf
commit
08c4732d1e
|
@ -29,6 +29,7 @@ class Config
|
|||
'github-protocols' => array('git', 'https', 'ssh'),
|
||||
'vendor-dir' => 'vendor',
|
||||
'bin-dir' => '{$vendor-dir}/bin',
|
||||
'bin-compat' => 'auto',
|
||||
'cache-dir' => '{$home}/cache',
|
||||
'cache-files-dir' => '{$cache-dir}/files',
|
||||
'cache-repo-dir' => '{$cache-dir}/repo',
|
||||
|
@ -215,6 +216,17 @@ class Config
|
|||
case 'home':
|
||||
return rtrim($this->process($this->config[$key], $flags), '/\\');
|
||||
|
||||
case 'bin-compat':
|
||||
$value= $this->getComposerEnv('COMPOSER_BIN_COMPAT') ?: $this->config[$key];
|
||||
|
||||
if (!in_array($value, array('auto', 'nosymlink', 'full'))) {
|
||||
throw new \RuntimeException(
|
||||
"Invalid value for 'bin-compat': {$value}. Expected auto, nosymlink, full"
|
||||
);
|
||||
}
|
||||
|
||||
return $value;
|
||||
|
||||
case 'discard-changes':
|
||||
if ($env = $this->getComposerEnv('COMPOSER_DISCARD_CHANGES')) {
|
||||
if (!in_array($env, array('stash', 'true', 'false', '1', '0'), true)) {
|
||||
|
|
|
@ -54,7 +54,7 @@ class LibraryInstaller implements InstallerInterface
|
|||
$this->filesystem = $filesystem ?: new Filesystem();
|
||||
$this->vendorDir = rtrim($composer->getConfig()->get('vendor-dir'), '/');
|
||||
$this->binDir = rtrim($composer->getConfig()->get('bin-dir'), '/');
|
||||
$this->binCompat = trim(getenv("COMPOSER_BIN_COMPAT")) ?: 'auto';
|
||||
$this->binCompat = $composer->getConfig()->get('bin-compat');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue