diff --git a/src/Factory/ToolFactory.php b/src/Factory/ToolFactory.php index 0d06c3b..b61d137 100644 --- a/src/Factory/ToolFactory.php +++ b/src/Factory/ToolFactory.php @@ -23,6 +23,7 @@ public static function createTool($name, $directory, array $parameters) 'sign-url' => null, 'only-dev' => true, 'force-replace' => false, + 'rename' => false, ]; $parameters = array_merge($defaults, $parameters); @@ -42,6 +43,10 @@ public static function createTool($name, $directory, array $parameters) $tool->disableOnlyDev(); } + if (true === $parameters['rename']) { + $tool->setNameToToolKey(); + } + return $tool; } diff --git a/src/Model/Tool.php b/src/Model/Tool.php index 9ef6fc2..d2910d8 100644 --- a/src/Model/Tool.php +++ b/src/Model/Tool.php @@ -37,6 +37,11 @@ class Tool */ private $onlyDev = true; + /** + * @var bool + */ + private $rename = false; + /** * @param string $name * @param string $filename @@ -116,4 +121,20 @@ public function forceReplace() { return $this->forceReplace; } + + /** + * @return void + */ + public function setNameToToolKey() + { + $this->rename = true; + } + + /** + * @return bool + */ + public function renameToConfigKey() + { + return $this->rename; + } } diff --git a/src/Script/Processor.php b/src/Script/Processor.php index a68c9db..95a7ddc 100644 --- a/src/Script/Processor.php +++ b/src/Script/Processor.php @@ -101,6 +101,9 @@ public function symlinkOrCopy(Tool $tool) } $filename = $tool->getFilename(); + if ($tool->renameToConfigKey()) { + $filename = $tool->getName(); + } $composerDir = $this->configuration->getComposerBinDirectory(); $composerPath = $composerDir . DIRECTORY_SEPARATOR . basename($filename);