Updated Rector to commit 037cfd435d

037cfd435d fix typo in option name that lead to missed config loader
This commit is contained in:
Tomas Votruba 2021-05-15 11:14:40 +00:00
parent 717f161194
commit 780e818533
33 changed files with 92 additions and 760 deletions

View File

@ -4,7 +4,6 @@ declare (strict_types=1);
namespace RectorPrefix20210515;
use Rector\Core\Bootstrap\ExtensionConfigResolver;
use Rector\Core\Configuration\Option;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/services.php');
@ -18,7 +17,4 @@ return static function (\RectorPrefix20210515\Symfony\Component\DependencyInject
}
// require only in dev
$containerConfigurator->import(__DIR__ . '/../utils/compiler/config/config.php', null, 'not_found');
// to override extension-loaded config
$parameters = $containerConfigurator->parameters();
$parameters->set(\Rector\Core\Configuration\Option::PHPSTAN_FOR_RECTOR_PATH, \getcwd() . '/phpstan-for-rector.neon');
};

View File

@ -22,6 +22,7 @@ return static function (\RectorPrefix20210515\Symfony\Component\DependencyInject
$parameters->set(\Rector\Core\Configuration\Option::PROJECT_TYPE, \Rector\Core\ValueObject\ProjectType::PROPRIETARY);
$parameters->set(\Rector\Core\Configuration\Option::NESTED_CHAIN_METHOD_CALL_LIMIT, 30);
$parameters->set(\Rector\Core\Configuration\Option::SKIP, []);
$parameters->set(\Rector\Core\Configuration\Option::PHPSTAN_FOR_RECTOR_PATH, null);
// cache
$parameters->set(\Rector\Core\Configuration\Option::ENABLE_CACHE, \false);
$parameters->set(\Rector\Core\Configuration\Option::CACHE_DIR, \sys_get_temp_dir() . '/rector_cached_files');

View File

@ -12,7 +12,6 @@ use Rector\Core\Application\ApplicationFileProcessor;
use Rector\Core\Application\FileSystem\RemovedAndAddedFilesCollector;
use Rector\Core\Autoloading\AdditionalAutoloader;
use Rector\Core\Autoloading\BootstrapFilesIncluder;
use Rector\Core\Bootstrap\RectorConfigsResolver;
use Rector\Core\Configuration\Configuration;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\Application\File;
@ -56,9 +55,7 @@ abstract class AbstractRectorTestCase extends \Rector\Testing\PHPUnit\AbstractTe
// speed up
@\ini_set('memory_limit', '-1');
$configFileInfo = new \Symplify\SmartFileSystem\SmartFileInfo($this->provideConfigFilePath());
$rectorConfigsResolver = new \Rector\Core\Bootstrap\RectorConfigsResolver();
$configFileInfos = $rectorConfigsResolver->resolveFromConfigFileInfo($configFileInfo);
$this->bootFromConfigFileInfos($configFileInfos);
$this->bootFromConfigFileInfos([$configFileInfo]);
$this->applicationFileProcessor = $this->getService(\Rector\Core\Application\ApplicationFileProcessor::class);
$this->parameterProvider = $this->getService(\RectorPrefix20210515\Symplify\PackageBuilder\Parameter\ParameterProvider::class);
$this->dynamicSourceLocatorProvider = $this->getService(\Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocatorProvider\DynamicSourceLocatorProvider::class);

View File

@ -5,66 +5,71 @@ namespace Rector\Core\Bootstrap;
use Rector\Core\ValueObject\Bootstrap\BootstrapConfigs;
use RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput;
use RectorPrefix20210515\Symplify\SetConfigResolver\ConfigResolver;
use RectorPrefix20210515\Symplify\SmartFileSystem\Exception\FileNotFoundException;
use Symplify\SmartFileSystem\SmartFileInfo;
final class RectorConfigsResolver
{
/**
* @var \Symplify\SetConfigResolver\ConfigResolver
*/
private $configResolver;
/**
* @var array<string, SmartFileInfo[]>
*/
private $resolvedConfigFileInfos = [];
/**
* @var \Rector\Core\Bootstrap\SetConfigResolver
*/
private $setConfigResolver;
public function __construct()
{
$this->setConfigResolver = new \Rector\Core\Bootstrap\SetConfigResolver();
$this->configResolver = new \RectorPrefix20210515\Symplify\SetConfigResolver\ConfigResolver();
}
/**
* @return SmartFileInfo[]
*/
public function resolveFromConfigFileInfo(\Symplify\SmartFileSystem\SmartFileInfo $configFileInfo) : array
{
$hash = \sha1_file($configFileInfo->getRealPath());
if ($hash === \false) {
return [];
}
if (isset($this->resolvedConfigFileInfos[$hash])) {
return $this->resolvedConfigFileInfos[$hash];
}
$setFileInfos = $this->setConfigResolver->resolve($configFileInfo);
$configFileInfos = \array_merge([$configFileInfo], $setFileInfos);
$this->resolvedConfigFileInfos[$hash] = $configFileInfos;
return $configFileInfos;
}
public function provide() : \Rector\Core\ValueObject\Bootstrap\BootstrapConfigs
{
$argvInput = new \RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput();
$mainConfigFileInfo = $this->configResolver->resolveFromInputWithFallback($argvInput, ['rector.php']);
$configFileInfos = $mainConfigFileInfo instanceof \Symplify\SmartFileSystem\SmartFileInfo ? $this->resolveFromConfigFileInfo($mainConfigFileInfo) : [];
$configFileInfos = $this->appendRectorRecipeConfig($argvInput, $configFileInfos);
$mainConfigFileInfo = $this->resolveFromInputWithFallback($argvInput, 'rector.php');
$rectorRecipeConfigFileInfo = $this->resolveRectorRecipeConfig($argvInput);
$configFileInfos = [];
if ($rectorRecipeConfigFileInfo !== null) {
$configFileInfos[] = $rectorRecipeConfigFileInfo;
}
return new \Rector\Core\ValueObject\Bootstrap\BootstrapConfigs($mainConfigFileInfo, $configFileInfos);
}
/**
* @param SmartFileInfo[] $configFileInfos
* @return SmartFileInfo[]
*/
private function appendRectorRecipeConfig(\RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput $argvInput, array $configFileInfos) : array
private function resolveRectorRecipeConfig(\RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput $argvInput) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
if ($argvInput->getFirstArgument() !== 'generate') {
return $configFileInfos;
return null;
}
// autoload rector recipe file if present, just for \Rector\RectorGenerator\Command\GenerateCommand
$rectorRecipeFilePath = \getcwd() . '/rector-recipe.php';
if (\file_exists($rectorRecipeFilePath)) {
$configFileInfos[] = new \Symplify\SmartFileSystem\SmartFileInfo($rectorRecipeFilePath);
if (!\file_exists($rectorRecipeFilePath)) {
return null;
}
return $configFileInfos;
return new \Symplify\SmartFileSystem\SmartFileInfo($rectorRecipeFilePath);
}
private function resolveFromInput(\RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput $argvInput) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
$configValue = $this->getOptionValue($argvInput, ['--config', '-c']);
if ($configValue === null) {
return null;
}
if (!\file_exists($configValue)) {
$message = \sprintf('File "%s" was not found', $configValue);
throw new \RectorPrefix20210515\Symplify\SmartFileSystem\Exception\FileNotFoundException($message);
}
return new \Symplify\SmartFileSystem\SmartFileInfo($configValue);
}
private function resolveFromInputWithFallback(\RectorPrefix20210515\Symfony\Component\Console\Input\ArgvInput $argvInput, string $fallbackFile) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
$configFileInfo = $this->resolveFromInput($argvInput);
if ($configFileInfo !== null) {
return $configFileInfo;
}
return $this->createFallbackFileInfoIfFound($fallbackFile);
}
private function createFallbackFileInfoIfFound(string $fallbackFile) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
$rootFallbackFile = \getcwd() . \DIRECTORY_SEPARATOR . $fallbackFile;
if (!\is_file($rootFallbackFile)) {
return null;
}
return new \Symplify\SmartFileSystem\SmartFileInfo($rootFallbackFile);
}
/**
* @param string[] $optionNames
*/
private function getOptionValue(\RectorPrefix20210515\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;
}
}

View File

@ -1,42 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\Bootstrap;
use RectorPrefix20210515\Symfony\Component\Config\FileLocator;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\ContainerBuilder;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
use Symplify\SmartFileSystem\SmartFileInfo;
final class SetConfigResolver
{
/**
* @var string
*/
private const SETS = 'sets';
/**
* @return SmartFileInfo[]
*/
public function resolve(\Symplify\SmartFileSystem\SmartFileInfo $smartFileInfo) : array
{
$containerBuilder = new \RectorPrefix20210515\Symfony\Component\DependencyInjection\ContainerBuilder();
$phpFileLoader = new \RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\PhpFileLoader($containerBuilder, new \RectorPrefix20210515\Symfony\Component\Config\FileLocator());
$phpFileLoader->load($smartFileInfo->getRealPath());
if (!$containerBuilder->hasParameter(self::SETS)) {
return [];
}
$sets = (array) $containerBuilder->getParameter(self::SETS);
return $this->wrapToFileInfos($sets);
}
/**
* @param string[] $sets
* @return SmartFileInfo[]
*/
private function wrapToFileInfos(array $sets) : array
{
$setFileInfos = [];
foreach ($sets as $set) {
$setFileInfos[] = new \Symplify\SmartFileSystem\SmartFileInfo($set);
}
return $setFileInfos;
}
}

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272::getLoader();
return ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5::getLoader();

File diff suppressed because one or more lines are too long

View File

@ -1317,19 +1317,6 @@ return array(
'RectorPrefix20210515\\Symplify\\PackageBuilder\\ValueObject\\MethodName' => $vendorDir . '/symplify/package-builder/src/ValueObject/MethodName.php',
'RectorPrefix20210515\\Symplify\\PackageBuilder\\ValueObject\\Option' => $vendorDir . '/symplify/package-builder/src/ValueObject/Option.php',
'RectorPrefix20210515\\Symplify\\PackageBuilder\\Yaml\\ParametersMerger' => $vendorDir . '/symplify/package-builder/src/Yaml/ParametersMerger.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\AbstractConfigResolver' => $vendorDir . '/symplify/set-config-resolver/src/AbstractConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Bootstrap\\InvalidSetReporter' => $vendorDir . '/symplify/set-config-resolver/src/Bootstrap/InvalidSetReporter.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ConfigResolver' => $vendorDir . '/symplify/set-config-resolver/src/ConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Config\\SetsParameterResolver' => $vendorDir . '/symplify/set-config-resolver/src/Config/SetsParameterResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Console\\OptionValueResolver' => $vendorDir . '/symplify/set-config-resolver/src/Console/OptionValueResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Console\\Option\\OptionName' => $vendorDir . '/symplify/set-config-resolver/src/Console/Option/OptionName.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Contract\\SetProviderInterface' => $vendorDir . '/symplify/set-config-resolver/src/Contract/SetProviderInterface.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Exception\\SetNotFoundException' => $vendorDir . '/symplify/set-config-resolver/src/Exception/SetNotFoundException.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Provider\\AbstractSetProvider' => $vendorDir . '/symplify/set-config-resolver/src/Provider/AbstractSetProvider.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\SetAwareConfigResolver' => $vendorDir . '/symplify/set-config-resolver/src/SetAwareConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\SetResolver' => $vendorDir . '/symplify/set-config-resolver/src/SetResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ValueObject\\Bootstrap\\BootstrapConfigs' => $vendorDir . '/symplify/set-config-resolver/src/ValueObject/Bootstrap/BootstrapConfigs.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ValueObject\\Set' => $vendorDir . '/symplify/set-config-resolver/src/ValueObject/Set.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Bundle\\DependencyInjection\\Extension\\SimplePhpDocParserExtension' => $vendorDir . '/symplify/simple-php-doc-parser/src/Bundle/DependencyInjection/Extension/SimplePhpDocParserExtension.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Bundle\\SimplePhpDocParserBundle' => $vendorDir . '/symplify/simple-php-doc-parser/src/Bundle/SimplePhpDocParserBundle.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Contract\\PhpDocNodeVisitorInterface' => $vendorDir . '/symplify/simple-php-doc-parser/src/Contract/PhpDocNodeVisitorInterface.php',
@ -1693,7 +1680,6 @@ return array(
'Rector\\Core\\Autoloading\\BootstrapFilesIncluder' => $baseDir . '/src/Autoloading/BootstrapFilesIncluder.php',
'Rector\\Core\\Bootstrap\\ExtensionConfigResolver' => $baseDir . '/src/Bootstrap/ExtensionConfigResolver.php',
'Rector\\Core\\Bootstrap\\RectorConfigsResolver' => $baseDir . '/src/Bootstrap/RectorConfigsResolver.php',
'Rector\\Core\\Bootstrap\\SetConfigResolver' => $baseDir . '/src/Bootstrap/SetConfigResolver.php',
'Rector\\Core\\Configuration\\Configuration' => $baseDir . '/src/Configuration/Configuration.php',
'Rector\\Core\\Configuration\\CurrentNodeProvider' => $baseDir . '/src/Configuration/CurrentNodeProvider.php',
'Rector\\Core\\Configuration\\Option' => $baseDir . '/src/Configuration/Option.php',

View File

@ -24,7 +24,6 @@ return array(
'RectorPrefix20210515\\Symplify\\SmartFileSystem\\' => array($vendorDir . '/symplify/smart-file-system/src'),
'RectorPrefix20210515\\Symplify\\Skipper\\' => array($vendorDir . '/symplify/skipper/src'),
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\' => array($vendorDir . '/symplify/simple-php-doc-parser/src'),
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\' => array($vendorDir . '/symplify/set-config-resolver/src'),
'RectorPrefix20210515\\Symplify\\PackageBuilder\\' => array($vendorDir . '/symplify/package-builder/src'),
'RectorPrefix20210515\\Symplify\\EasyTesting\\' => array($vendorDir . '/symplify/easy-testing/src'),
'RectorPrefix20210515\\Symplify\\ConsolePackageBuilder\\' => array($vendorDir . '/symplify/console-package-builder/src'),

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272
class ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit27ccce5055bf2ad0da846430c5540272::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit27ccce5055bf2ad0da846430c5540272::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire27ccce5055bf2ad0da846430c5540272($fileIdentifier, $file);
composerRequire2f841dc6288aa7a74ae0b865f80227e5($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire27ccce5055bf2ad0da846430c5540272($fileIdentifier, $file)
function composerRequire2f841dc6288aa7a74ae0b865f80227e5($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
class ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -47,7 +47,6 @@ class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
'RectorPrefix20210515\\Symplify\\SmartFileSystem\\' => 46,
'RectorPrefix20210515\\Symplify\\Skipper\\' => 38,
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\' => 49,
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\' => 48,
'RectorPrefix20210515\\Symplify\\PackageBuilder\\' => 45,
'RectorPrefix20210515\\Symplify\\EasyTesting\\' => 42,
'RectorPrefix20210515\\Symplify\\ConsolePackageBuilder\\' => 52,
@ -169,10 +168,6 @@ class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
array (
0 => __DIR__ . '/..' . '/symplify/simple-php-doc-parser/src',
),
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\' =>
array (
0 => __DIR__ . '/..' . '/symplify/set-config-resolver/src',
),
'RectorPrefix20210515\\Symplify\\PackageBuilder\\' =>
array (
0 => __DIR__ . '/..' . '/symplify/package-builder/src',
@ -1651,19 +1646,6 @@ class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
'RectorPrefix20210515\\Symplify\\PackageBuilder\\ValueObject\\MethodName' => __DIR__ . '/..' . '/symplify/package-builder/src/ValueObject/MethodName.php',
'RectorPrefix20210515\\Symplify\\PackageBuilder\\ValueObject\\Option' => __DIR__ . '/..' . '/symplify/package-builder/src/ValueObject/Option.php',
'RectorPrefix20210515\\Symplify\\PackageBuilder\\Yaml\\ParametersMerger' => __DIR__ . '/..' . '/symplify/package-builder/src/Yaml/ParametersMerger.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\AbstractConfigResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/AbstractConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Bootstrap\\InvalidSetReporter' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Bootstrap/InvalidSetReporter.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ConfigResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/ConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Config\\SetsParameterResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Config/SetsParameterResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Console\\OptionValueResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Console/OptionValueResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Console\\Option\\OptionName' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Console/Option/OptionName.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Contract\\SetProviderInterface' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Contract/SetProviderInterface.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Exception\\SetNotFoundException' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Exception/SetNotFoundException.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\Provider\\AbstractSetProvider' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/Provider/AbstractSetProvider.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\SetAwareConfigResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/SetAwareConfigResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\SetResolver' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/SetResolver.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ValueObject\\Bootstrap\\BootstrapConfigs' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/ValueObject/Bootstrap/BootstrapConfigs.php',
'RectorPrefix20210515\\Symplify\\SetConfigResolver\\ValueObject\\Set' => __DIR__ . '/..' . '/symplify/set-config-resolver/src/ValueObject/Set.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Bundle\\DependencyInjection\\Extension\\SimplePhpDocParserExtension' => __DIR__ . '/..' . '/symplify/simple-php-doc-parser/src/Bundle/DependencyInjection/Extension/SimplePhpDocParserExtension.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Bundle\\SimplePhpDocParserBundle' => __DIR__ . '/..' . '/symplify/simple-php-doc-parser/src/Bundle/SimplePhpDocParserBundle.php',
'RectorPrefix20210515\\Symplify\\SimplePhpDocParser\\Contract\\PhpDocNodeVisitorInterface' => __DIR__ . '/..' . '/symplify/simple-php-doc-parser/src/Contract/PhpDocNodeVisitorInterface.php',
@ -2027,7 +2009,6 @@ class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
'Rector\\Core\\Autoloading\\BootstrapFilesIncluder' => __DIR__ . '/../..' . '/src/Autoloading/BootstrapFilesIncluder.php',
'Rector\\Core\\Bootstrap\\ExtensionConfigResolver' => __DIR__ . '/../..' . '/src/Bootstrap/ExtensionConfigResolver.php',
'Rector\\Core\\Bootstrap\\RectorConfigsResolver' => __DIR__ . '/../..' . '/src/Bootstrap/RectorConfigsResolver.php',
'Rector\\Core\\Bootstrap\\SetConfigResolver' => __DIR__ . '/../..' . '/src/Bootstrap/SetConfigResolver.php',
'Rector\\Core\\Configuration\\Configuration' => __DIR__ . '/../..' . '/src/Configuration/Configuration.php',
'Rector\\Core\\Configuration\\CurrentNodeProvider' => __DIR__ . '/../..' . '/src/Configuration/CurrentNodeProvider.php',
'Rector\\Core\\Configuration\\Option' => __DIR__ . '/../..' . '/src/Configuration/Option.php',
@ -3468,9 +3449,9 @@ class ComposerStaticInit27ccce5055bf2ad0da846430c5540272
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit27ccce5055bf2ad0da846430c5540272::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit27ccce5055bf2ad0da846430c5540272::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit27ccce5055bf2ad0da846430c5540272::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit2f841dc6288aa7a74ae0b865f80227e5::$classMap;
}, null, ClassLoader::class);
}

View File

@ -1356,17 +1356,17 @@
},
{
"name": "rector\/rector-nette",
"version": "0.11.2",
"version_normalized": "0.11.2.0",
"version": "0.11.3",
"version_normalized": "0.11.3.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/rectorphp\/rector-nette.git",
"reference": "32de26a4888c2ba8d2b8bb6747607b60dcbd4b47"
"reference": "69ea2b05552b5a29ffdc087d417d5bb768759537"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette\/zipball\/32de26a4888c2ba8d2b8bb6747607b60dcbd4b47",
"reference": "32de26a4888c2ba8d2b8bb6747607b60dcbd4b47",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette\/zipball\/69ea2b05552b5a29ffdc087d417d5bb768759537",
"reference": "69ea2b05552b5a29ffdc087d417d5bb768759537",
"shasum": ""
},
"require": {
@ -1392,7 +1392,7 @@
"symplify\/phpstan-rules": "^9.3",
"symplify\/rule-doc-generator": "^9.3"
},
"time": "2021-05-15T01:17:26+00:00",
"time": "2021-05-15T10:59:01+00:00",
"type": "rector-extension",
"extra": {
"branch-alias": {
@ -1417,27 +1417,27 @@
"description": "Rector upgrades rules for Nette Framework",
"support": {
"issues": "https:\/\/github.com\/rectorphp\/rector-nette\/issues",
"source": "https:\/\/github.com\/rectorphp\/rector-nette\/tree\/0.11.2"
"source": "https:\/\/github.com\/rectorphp\/rector-nette\/tree\/0.11.3"
},
"install-path": "..\/rector\/rector-nette"
},
{
"name": "rector\/rector-nette-to-symfony",
"version": "0.11.1",
"version_normalized": "0.11.1.0",
"version": "0.11.2",
"version_normalized": "0.11.2.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/rectorphp\/rector-nette-to-symfony.git",
"reference": "964d7cba1109c18d6fab30b23370825954d29df1"
"reference": "5f53ff288de52b7da8b8b917af809c341e7a1da2"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette-to-symfony\/zipball\/964d7cba1109c18d6fab30b23370825954d29df1",
"reference": "964d7cba1109c18d6fab30b23370825954d29df1",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette-to-symfony\/zipball\/5f53ff288de52b7da8b8b917af809c341e7a1da2",
"reference": "5f53ff288de52b7da8b8b917af809c341e7a1da2",
"shasum": ""
},
"require": {
"php": ">=7.3",
"php": ">=8.0",
"rector\/rector-nette": "^0.11"
},
"conflict": {
@ -1449,7 +1449,7 @@
"phpstan\/extension-installer": "^1.1",
"phpstan\/phpstan-nette": "^0.12.16",
"phpunit\/phpunit": "^9.5",
"rector\/rector-phpstan-rules": "^0.2",
"rector\/phpstan-rules": "^0.2.8",
"rector\/rector-src": "^0.11",
"symfony\/form": "^5.2",
"symplify\/easy-coding-standard": "^9.3",
@ -1457,7 +1457,7 @@
"symplify\/phpstan-rules": "^9.3",
"symplify\/rule-doc-generator": "^9.3"
},
"time": "2021-05-15T08:02:44+00:00",
"time": "2021-05-15T10:44:39+00:00",
"type": "rector-extension",
"extra": {
"branch-alias": {
@ -1482,7 +1482,7 @@
"description": "Generate Rector rules from command line",
"support": {
"issues": "https:\/\/github.com\/rectorphp\/rector-nette-to-symfony\/issues",
"source": "https:\/\/github.com\/rectorphp\/rector-nette-to-symfony\/tree\/0.11.1"
"source": "https:\/\/github.com\/rectorphp\/rector-nette-to-symfony\/tree\/0.11.2"
},
"funding": [
{
@ -4029,68 +4029,6 @@
],
"install-path": "..\/symplify\/rule-doc-generator-contracts"
},
{
"name": "symplify\/set-config-resolver",
"version": "v9.3.11",
"version_normalized": "9.3.11.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/set-config-resolver.git",
"reference": "cced883469d32b45f83471c17443faf18a3c2e75"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/set-config-resolver\/zipball\/cced883469d32b45f83471c17443faf18a3c2e75",
"reference": "cced883469d32b45f83471c17443faf18a3c2e75",
"shasum": ""
},
"require": {
"nette\/utils": "^3.2",
"php": ">=7.3",
"symfony\/config": "^4.4|^5.2",
"symfony\/console": "^4.4|^5.2",
"symfony\/dependency-injection": "^5.2",
"symfony\/filesystem": "^4.4|^5.2",
"symfony\/finder": "^4.4|^5.2",
"symplify\/smart-file-system": "^9.3.11",
"symplify\/symplify-kernel": "^9.3.11"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-05-13T11:34:45+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "9.4-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"RectorPrefix20210515\\Symplify\\SetConfigResolver\\": "src"
}
},
"notification-url": "https:\/\/packagist.org\/downloads\/",
"license": [
"MIT"
],
"description": "Resolve config and sets from configs and cli opptions for CLI applications",
"support": {
"source": "https:\/\/github.com\/symplify\/set-config-resolver\/tree\/v9.3.11"
},
"funding": [
{
"url": "https:\/\/www.paypal.me\/rectorphp",
"type": "custom"
},
{
"url": "https:\/\/github.com\/tomasvotruba",
"type": "github"
}
],
"install-path": "..\/symplify\/set-config-resolver"
},
{
"name": "symplify\/simple-php-doc-parser",
"version": "v9.3.11",

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-nette-to-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette-to-symfony', 'relative_install_path' => '../../rector-nette-to-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'));
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.3'), 'rector/rector-nette-to-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette-to-symfony', 'relative_install_path' => '../../rector-nette-to-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'));
private function __construct()
{
}

View File

@ -4,7 +4,7 @@
"description": "Generate Rector rules from command line",
"license": "MIT",
"require": {
"php": ">=7.3",
"php": ">=8.0",
"rector\/rector-nette": "^0.11"
},
"require-dev": {
@ -16,7 +16,7 @@
"phpstan\/phpstan-nette": "^0.12.16",
"symplify\/rule-doc-generator": "^9.3",
"phpstan\/extension-installer": "^1.1",
"rector\/rector-phpstan-rules": "^0.2",
"rector\/phpstan-rules": "^0.2.8",
"nette\/application": "^3.1",
"symfony\/form": "^5.2",
"nette\/forms": "^3.1"

View File

@ -3,12 +3,9 @@
declare (strict_types=1);
namespace RectorPrefix20210515;
use Rector\Core\Configuration\Option;
use Rector\Core\NonPhpFile\Rector\RenameClassNonPhpRector;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$parameters = $containerConfigurator->parameters();
$parameters->set(\Rector\Core\Configuration\Option::PHPSTAN_FOR_RECTOR_PATH, __DIR__ . '/../phpstan-for-rector.neon');
$services = $containerConfigurator->services();
$services->defaults()->public()->autowire()->autoconfigure();
$services->load('Rector\\Nette\\', __DIR__ . '/../src')->exclude([__DIR__ . '/../src/Contract', __DIR__ . '/../src/Rector', __DIR__ . '/../src/ValueObject', __DIR__ . '/../src/Kdyby/Rector', __DIR__ . '/../src/Kdyby/ValueObject']);

View File

@ -1,3 +0,0 @@
# this config has extensions, that helps PHPStan inside Rector to resolve more precise types
includes:
- vendor/phpstan/phpstan-nette/extension.neon

View File

@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
spl_autoload_call('RectorPrefix20210515\CheckoutEntityFactory');
}
if (!class_exists('ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272', false) && !interface_exists('ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272', false) && !trait_exists('ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272', false)) {
spl_autoload_call('RectorPrefix20210515\ComposerAutoloaderInit27ccce5055bf2ad0da846430c5540272');
if (!class_exists('ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5', false) && !interface_exists('ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5', false) && !trait_exists('ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5', false)) {
spl_autoload_call('RectorPrefix20210515\ComposerAutoloaderInit2f841dc6288aa7a74ae0b865f80227e5');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210515\Doctrine\Inflector\Inflector');
@ -95,9 +95,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210515\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire27ccce5055bf2ad0da846430c5540272')) {
function composerRequire27ccce5055bf2ad0da846430c5540272() {
return \RectorPrefix20210515\composerRequire27ccce5055bf2ad0da846430c5540272(...func_get_args());
if (!function_exists('composerRequire2f841dc6288aa7a74ae0b865f80227e5')) {
function composerRequire2f841dc6288aa7a74ae0b865f80227e5() {
return \RectorPrefix20210515\composerRequire2f841dc6288aa7a74ae0b865f80227e5(...func_get_args());
}
}
if (!function_exists('parseArgs')) {

View File

@ -1,25 +0,0 @@
The MIT License
---------------
Copyright (c) 2019 Tomas Votruba (https://tomasvotruba.com)
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,36 +0,0 @@
{
"name": "symplify\/set-config-resolver",
"description": "Resolve config and sets from configs and cli opptions for CLI applications",
"license": "MIT",
"require": {
"php": ">=7.3",
"nette\/utils": "^3.2",
"symfony\/config": "^4.4|^5.2",
"symfony\/dependency-injection": "^5.2",
"symfony\/console": "^4.4|^5.2",
"symfony\/finder": "^4.4|^5.2",
"symfony\/filesystem": "^4.4|^5.2",
"symplify\/symplify-kernel": "^9.3.11",
"symplify\/smart-file-system": "^9.3.11"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"autoload": {
"psr-4": {
"RectorPrefix20210515\\Symplify\\SetConfigResolver\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"RectorPrefix20210515\\Symplify\\SetConfigResolver\\Tests\\": "tests"
}
},
"extra": {
"branch-alias": {
"dev-main": "9.4-dev"
}
},
"minimum-stability": "dev",
"prefer-stable": true
}

View File

@ -1,61 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver;
use RectorPrefix20210515\Symfony\Component\Console\Input\InputInterface;
use RectorPrefix20210515\Symplify\SetConfigResolver\Console\Option\OptionName;
use RectorPrefix20210515\Symplify\SetConfigResolver\Console\OptionValueResolver;
use RectorPrefix20210515\Symplify\SmartFileSystem\Exception\FileNotFoundException;
use Symplify\SmartFileSystem\SmartFileInfo;
abstract class AbstractConfigResolver
{
/**
* @var OptionValueResolver
*/
private $optionValueResolver;
public function __construct()
{
$this->optionValueResolver = new \RectorPrefix20210515\Symplify\SetConfigResolver\Console\OptionValueResolver();
}
public function resolveFromInput(\RectorPrefix20210515\Symfony\Component\Console\Input\InputInterface $input) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
$configValue = $this->optionValueResolver->getOptionValue($input, \RectorPrefix20210515\Symplify\SetConfigResolver\Console\Option\OptionName::CONFIG);
if ($configValue !== null) {
if (!\file_exists($configValue)) {
$message = \sprintf('File "%s" was not found', $configValue);
throw new \RectorPrefix20210515\Symplify\SmartFileSystem\Exception\FileNotFoundException($message);
}
return $this->createFileInfo($configValue);
}
return null;
}
/**
* @param string[] $fallbackFiles
*/
public function resolveFromInputWithFallback(\RectorPrefix20210515\Symfony\Component\Console\Input\InputInterface $input, array $fallbackFiles) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
$configFileInfo = $this->resolveFromInput($input);
if ($configFileInfo !== null) {
return $configFileInfo;
}
return $this->createFallbackFileInfoIfFound($fallbackFiles);
}
/**
* @param string[] $fallbackFiles
*/
private function createFallbackFileInfoIfFound(array $fallbackFiles) : ?\Symplify\SmartFileSystem\SmartFileInfo
{
foreach ($fallbackFiles as $fallbackFile) {
$rootFallbackFile = \getcwd() . \DIRECTORY_SEPARATOR . $fallbackFile;
if (\is_file($rootFallbackFile)) {
return $this->createFileInfo($rootFallbackFile);
}
}
return null;
}
private function createFileInfo(string $configValue) : \Symplify\SmartFileSystem\SmartFileInfo
{
return new \Symplify\SmartFileSystem\SmartFileInfo($configValue);
}
}

View File

@ -1,37 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Bootstrap;
use RectorPrefix20210515\Nette\Utils\ObjectHelpers;
use RectorPrefix20210515\Symfony\Component\Console\Style\SymfonyStyle;
use RectorPrefix20210515\Symplify\PackageBuilder\Console\Style\SymfonyStyleFactory;
use RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException;
/**
* @see \Symplify\SetConfigResolver\Tests\Bootstrap\InvalidSetReporterTest
*/
final class InvalidSetReporter
{
/**
* @var SymfonyStyle
*/
private $symfonyStyle;
public function __construct()
{
$symfonyStyleFactory = new \RectorPrefix20210515\Symplify\PackageBuilder\Console\Style\SymfonyStyleFactory();
$this->symfonyStyle = $symfonyStyleFactory->create();
}
public function report(\RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException $setNotFoundException) : void
{
$message = $setNotFoundException->getMessage();
$suggestedSet = \RectorPrefix20210515\Nette\Utils\ObjectHelpers::getSuggestion($setNotFoundException->getAvailableSetNames(), $setNotFoundException->getSetName());
if ($suggestedSet !== null) {
$message .= \sprintf('. Did you mean "%s"?', $suggestedSet);
$this->symfonyStyle->error($message);
} elseif ($setNotFoundException->getAvailableSetNames() !== []) {
$this->symfonyStyle->error($message);
$this->symfonyStyle->note('Pick one of:');
$this->symfonyStyle->listing($setNotFoundException->getAvailableSetNames());
}
}
}

View File

@ -1,65 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Config;
use RectorPrefix20210515\Symfony\Component\Config\FileLocator;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\ContainerBuilder;
use RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
use RectorPrefix20210515\Symplify\Astral\Exception\ShouldNotHappenException;
use RectorPrefix20210515\Symplify\SetConfigResolver\SetResolver;
use Symplify\SmartFileSystem\SmartFileInfo;
final class SetsParameterResolver
{
/**
* @var string
*/
private const SETS = 'sets';
/**
* @var SetResolver
*/
private $setResolver;
public function __construct(\RectorPrefix20210515\Symplify\SetConfigResolver\SetResolver $setResolver)
{
$this->setResolver = $setResolver;
}
/**
* @param SmartFileInfo[] $fileInfos
* @return SmartFileInfo[]
*/
public function resolveFromFileInfos(array $fileInfos) : array
{
$setFileInfos = [];
foreach ($fileInfos as $fileInfo) {
$setsNames = $this->resolveSetsFromFileInfo($fileInfo);
foreach ($setsNames as $setsName) {
$setFileInfos[] = $this->setResolver->detectFromName($setsName);
}
}
return $setFileInfos;
}
/**
* @return string[]
*/
private function resolveSetsFromFileInfo(\Symplify\SmartFileSystem\SmartFileInfo $configFileInfo) : array
{
if ($configFileInfo->hasSuffixes(['yml', 'yaml'])) {
throw new \RectorPrefix20210515\Symplify\Astral\Exception\ShouldNotHappenException('Only PHP config suffix is supported now. Migrete your Symfony config to PHP');
}
return $this->resolveSetsParameterFromPhpFileInfo($configFileInfo);
}
/**
* @return string[]
*/
private function resolveSetsParameterFromPhpFileInfo(\Symplify\SmartFileSystem\SmartFileInfo $configFileInfo) : array
{
// php file loader
$containerBuilder = new \RectorPrefix20210515\Symfony\Component\DependencyInjection\ContainerBuilder();
$phpFileLoader = new \RectorPrefix20210515\Symfony\Component\DependencyInjection\Loader\PhpFileLoader($containerBuilder, new \RectorPrefix20210515\Symfony\Component\Config\FileLocator());
$phpFileLoader->load($configFileInfo->getRealPath());
if (!$containerBuilder->hasParameter(self::SETS)) {
return [];
}
return (array) $containerBuilder->getParameter(self::SETS);
}
}

View File

@ -1,8 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver;
final class ConfigResolver extends \RectorPrefix20210515\Symplify\SetConfigResolver\AbstractConfigResolver
{
}

View File

@ -1,16 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Console\Option;
final class OptionName
{
/**
* @var string[]
*/
public const CONFIG = ['--config', '-c'];
/**
* @var string[]
*/
public const SET = ['--set', '-s'];
}

View File

@ -1,21 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Console;
use RectorPrefix20210515\Symfony\Component\Console\Input\InputInterface;
final class OptionValueResolver
{
/**
* @param string[] $optionNames
*/
public function getOptionValue(\RectorPrefix20210515\Symfony\Component\Console\Input\InputInterface $input, array $optionNames) : ?string
{
foreach ($optionNames as $optionName) {
if ($input->hasParameterOption($optionName, \true)) {
return $input->getParameterOption($optionName, null, \true);
}
}
return null;
}
}

View File

@ -1,18 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Contract;
use RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set;
interface SetProviderInterface
{
/**
* @return Set[]
*/
public function provide() : array;
/**
* @return string[]
*/
public function provideSetNames() : array;
public function provideByName(string $setName) : ?\RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set;
}

View File

@ -1,37 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Exception;
use Exception;
final class SetNotFoundException extends \Exception
{
/**
* @var string
*/
private $setName;
/**
* @var string[]
*/
private $availableSetNames = [];
/**
* @param string[] $availableSetNames
*/
public function __construct(string $message, string $setName, array $availableSetNames)
{
$this->setName = $setName;
$this->availableSetNames = $availableSetNames;
parent::__construct($message);
}
public function getSetName() : string
{
return $this->setName;
}
/**
* @return string[]
*/
public function getAvailableSetNames() : array
{
return $this->availableSetNames;
}
}

View File

@ -1,61 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\Provider;
use RectorPrefix20210515\Nette\Utils\Strings;
use RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface;
use RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException;
use RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set;
use RectorPrefix20210515\Symplify\SymplifyKernel\Exception\ShouldNotHappenException;
abstract class AbstractSetProvider implements \RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface
{
/**
* @return string[]
*/
public function provideSetNames() : array
{
$setNames = [];
$sets = $this->provide();
foreach ($sets as $set) {
$setNames[] = $set->getName();
}
return $setNames;
}
public function provideByName(string $desiredSetName) : ?\RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set
{
// 1. name-based approach
$sets = $this->provide();
foreach ($sets as $set) {
if ($set->getName() !== $desiredSetName) {
continue;
}
return $set;
}
// 2. path-based approach
try {
$sets = $this->provide();
foreach ($sets as $set) {
// possible bug for PHAR files, see https://bugs.php.net/bug.php?id=52769
// this is very tricky to handle, see https://stackoverflow.com/questions/27838025/how-to-get-a-phar-file-real-directory-within-the-phar-file-code
$setUniqueId = $this->resolveSetUniquePathId($set->getSetPathname());
$desiredSetUniqueId = $this->resolveSetUniquePathId($desiredSetName);
if ($setUniqueId !== $desiredSetUniqueId) {
continue;
}
return $set;
}
} catch (\RectorPrefix20210515\Symplify\SymplifyKernel\Exception\ShouldNotHappenException $shouldNotHappenException) {
}
$message = \sprintf('Set "%s" was not found', $desiredSetName);
throw new \RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException($message, $desiredSetName, $this->provideSetNames());
}
private function resolveSetUniquePathId(string $setPath) : string
{
$setPath = \RectorPrefix20210515\Nette\Utils\Strings::after($setPath, \DIRECTORY_SEPARATOR, -2);
if ($setPath === null) {
throw new \RectorPrefix20210515\Symplify\SymplifyKernel\Exception\ShouldNotHappenException();
}
return $setPath;
}
}

View File

@ -1,32 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver;
use RectorPrefix20210515\Symplify\SetConfigResolver\Config\SetsParameterResolver;
use RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @see \Symplify\SetConfigResolver\Tests\ConfigResolver\SetAwareConfigResolverTest
*/
final class SetAwareConfigResolver extends \RectorPrefix20210515\Symplify\SetConfigResolver\AbstractConfigResolver
{
/**
* @var SetsParameterResolver
*/
private $setsParameterResolver;
public function __construct(\RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface $setProvider)
{
$setResolver = new \RectorPrefix20210515\Symplify\SetConfigResolver\SetResolver($setProvider);
$this->setsParameterResolver = new \RectorPrefix20210515\Symplify\SetConfigResolver\Config\SetsParameterResolver($setResolver);
parent::__construct();
}
/**
* @param SmartFileInfo[] $fileInfos
* @return SmartFileInfo[]
*/
public function resolveFromParameterSetsFromConfigFiles(array $fileInfos) : array
{
return $this->setsParameterResolver->resolveFromFileInfos($fileInfos);
}
}

View File

@ -1,33 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver;
use RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface;
use RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException;
use RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set;
use Symplify\SmartFileSystem\SmartFileInfo;
final class SetResolver
{
/**
* @var SetProviderInterface
*/
private $setProvider;
public function __construct(\RectorPrefix20210515\Symplify\SetConfigResolver\Contract\SetProviderInterface $setProvider)
{
$this->setProvider = $setProvider;
}
public function detectFromName(string $setName) : \Symplify\SmartFileSystem\SmartFileInfo
{
$set = $this->setProvider->provideByName($setName);
if (!$set instanceof \RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Set) {
$this->reportSetNotFound($setName);
}
return $set->getSetFileInfo();
}
private function reportSetNotFound(string $setName) : void
{
$message = \sprintf('Set "%s" was not found', $setName);
throw new \RectorPrefix20210515\Symplify\SetConfigResolver\Exception\SetNotFoundException($message, $setName, $this->setProvider->provideSetNames());
}
}

View File

@ -1,39 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject\Bootstrap;
use Symplify\SmartFileSystem\SmartFileInfo;
final class BootstrapConfigs
{
/**
* @var SmartFileInfo|null
*/
private $mainConfigFileInfo;
/**
* @var SmartFileInfo[]
*/
private $setConfigFileInfos = [];
/**
* @param SmartFileInfo[] $setConfigFileInfos
*/
public function __construct(?\Symplify\SmartFileSystem\SmartFileInfo $mainConfigFileInfo, array $setConfigFileInfos)
{
$this->mainConfigFileInfo = $mainConfigFileInfo;
$this->setConfigFileInfos = $setConfigFileInfos;
}
public function getMainConfigFileInfo() : ?\Symplify\SmartFileSystem\SmartFileInfo
{
return $this->mainConfigFileInfo;
}
/**
* @return SmartFileInfo[]
*/
public function getConfigFileInfos() : array
{
if (!$this->mainConfigFileInfo instanceof \Symplify\SmartFileSystem\SmartFileInfo) {
return $this->setConfigFileInfos;
}
return \array_merge($this->setConfigFileInfos, [$this->mainConfigFileInfo]);
}
}

View File

@ -1,34 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210515\Symplify\SetConfigResolver\ValueObject;
use Symplify\SmartFileSystem\SmartFileInfo;
final class Set
{
/**
* @var string
*/
private $name;
/**
* @var SmartFileInfo
*/
private $setFileInfo;
public function __construct(string $name, \Symplify\SmartFileSystem\SmartFileInfo $setFileInfo)
{
$this->name = $name;
$this->setFileInfo = $setFileInfo;
}
public function getName() : string
{
return $this->name;
}
public function getSetFileInfo() : \Symplify\SmartFileSystem\SmartFileInfo
{
return $this->setFileInfo;
}
public function getSetPathname() : string
{
return $this->setFileInfo->getPathname();
}
}