%PDF- %PDF-
Direktori : /home/vacivi36/vacivitta.com.br/vendor/rector/rector/src/Bootstrap/ |
Current File : /home/vacivi36/vacivitta.com.br/vendor/rector/rector/src/Bootstrap/RectorConfigsResolver.php |
<?php declare (strict_types=1); namespace Rector\Core\Bootstrap; use Rector\Core\ValueObject\Bootstrap\BootstrapConfigs; use RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput; use RectorPrefix20211231\Symplify\SmartFileSystem\Exception\FileNotFoundException; final class RectorConfigsResolver { public function provide() : \Rector\Core\ValueObject\Bootstrap\BootstrapConfigs { $argvInput = new \RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput(); $mainConfigFile = $this->resolveFromInputWithFallback($argvInput, 'rector.php'); $rectorRecipeConfigFile = $this->resolveRectorRecipeConfig($argvInput); $configFiles = []; if ($rectorRecipeConfigFile !== null) { $configFiles[] = $rectorRecipeConfigFile; } return new \Rector\Core\ValueObject\Bootstrap\BootstrapConfigs($mainConfigFile, $configFiles); } private function resolveRectorRecipeConfig(\RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput $argvInput) : ?string { if ($argvInput->getFirstArgument() !== 'generate') { return null; } // autoload rector recipe file if present, just for \Rector\RectorGenerator\Command\GenerateCommand $rectorRecipeFilePath = \getcwd() . '/rector-recipe.php'; if (!\file_exists($rectorRecipeFilePath)) { return null; } return $rectorRecipeFilePath; } private function resolveFromInput(\RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput $argvInput) : ?string { $configFile = $this->getOptionValue($argvInput, ['--config', '-c']); if ($configFile === null) { return null; } if (!\file_exists($configFile)) { $message = \sprintf('File "%s" was not found', $configFile); throw new \RectorPrefix20211231\Symplify\SmartFileSystem\Exception\FileNotFoundException($message); } return \realpath($configFile); } private function resolveFromInputWithFallback(\RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput $argvInput, string $fallbackFile) : ?string { $configFile = $this->resolveFromInput($argvInput); if ($configFile !== null) { return $configFile; } return $this->createFallbackFileInfoIfFound($fallbackFile); } private function createFallbackFileInfoIfFound(string $fallbackFile) : ?string { $rootFallbackFile = \getcwd() . \DIRECTORY_SEPARATOR . $fallbackFile; if (!\is_file($rootFallbackFile)) { return null; } return $rootFallbackFile; } /** * @param string[] $optionNames */ private function getOptionValue(\RectorPrefix20211231\Symfony\Component\Console\Input\ArgvInput $argvInput, array $optionNames) : ?string { foreach ($optionNames as $optionName) { if ($argvInput->hasParameterOption($optionName, \true)) { return $argvInput->getParameterOption($optionName, null, \true); } } return null; } }