diff --git a/bin/rector b/bin/rector index 1cc3e6477f8..e78cb6af7fa 100755 --- a/bin/rector +++ b/bin/rector @@ -8,13 +8,13 @@ use Rector\Core\Configuration\Configuration; use Rector\Core\Configuration\MinimalVersionChecker; use Rector\Core\Configuration\MinimalVersionChecker\ComposerJsonParser; use Rector\Core\Configuration\MinimalVersionChecker\ComposerJsonReader; +use Rector\Core\Set\SetResolver; use Rector\Core\Console\Application; use Rector\Core\Console\Style\SymfonyStyleFactory; use Rector\Core\DependencyInjection\RectorContainerFactory; use Rector\Core\ValueObject\SetDirectory; use Symfony\Component\Console\Input\ArgvInput; use Symplify\PackageBuilder\Reflection\PrivatesCaller; -use Symplify\SetConfigResolver\ConfigResolver; @ini_set('memory_limit', '-1'); // @ intentionally: continue anyway @@ -169,13 +169,13 @@ final class AutoloadIncluder final class RectorConfigsResolver { /** - * @var ConfigResolver + * @var SetResolver */ - private $configResolver; + private $setResolver; public function __construct() { - $this->configResolver = new ConfigResolver(); + $this->setResolver = new SetResolver(); } /** @@ -188,13 +188,13 @@ final class RectorConfigsResolver // Detect configuration from --set $input = new ArgvInput(); - $setConfig = $this->configResolver->resolveSetFromInputAndDirectory($input, SetDirectory::SET_DIRECTORY); + $setConfig = $this->setResolver->resolveSetFromInput($input); if ($setConfig !== null) { $configs[] = $setConfig; } // And from --config or default one - $inputOrFallbackConfig = $this->configResolver->resolveFromInputWithFallback( + $inputOrFallbackConfig = $this->setResolver->resolveFromInputWithFallback( $input, ['rector.yml', 'rector.yaml', 'rector.php'] ); @@ -203,7 +203,7 @@ final class RectorConfigsResolver } // resolve: parameters > sets - $parameterSetsConfigs = $this->configResolver->resolveFromParameterSetsFromConfigFiles( + $parameterSetsConfigs = $this->setResolver->resolveFromParameterSetsFromConfigFiles( $configs, SetDirectory::SET_DIRECTORY ); @@ -216,6 +216,6 @@ final class RectorConfigsResolver public function getFirstResolvedConfig(): ?string { - return $this->configResolver->getFirstResolvedConfig(); + return $this->setResolver->getFirstResolvedConfig(); } } diff --git a/config/set/architecture/action-injection-to-constructor-injection.php b/config/set/action-injection-to-constructor-injection.php similarity index 100% rename from config/set/architecture/action-injection-to-constructor-injection.php rename to config/set/action-injection-to-constructor-injection.php diff --git a/config/set/cakephp/cakephp-fluent-options.php b/config/set/cakephp-fluent-options.php similarity index 100% rename from config/set/cakephp/cakephp-fluent-options.php rename to config/set/cakephp-fluent-options.php diff --git a/config/set/cakephp/cakephp30.php b/config/set/cakephp30.php similarity index 100% rename from config/set/cakephp/cakephp30.php rename to config/set/cakephp30.php diff --git a/config/set/cakephp/cakephp34.php b/config/set/cakephp34.php similarity index 100% rename from config/set/cakephp/cakephp34.php rename to config/set/cakephp34.php diff --git a/config/set/cakephp/cakephp35.php b/config/set/cakephp35.php similarity index 100% rename from config/set/cakephp/cakephp35.php rename to config/set/cakephp35.php diff --git a/config/set/cakephp/cakephp36.php b/config/set/cakephp36.php similarity index 100% rename from config/set/cakephp/cakephp36.php rename to config/set/cakephp36.php diff --git a/config/set/cakephp/cakephp37.php b/config/set/cakephp37.php similarity index 100% rename from config/set/cakephp/cakephp37.php rename to config/set/cakephp37.php diff --git a/config/set/cakephp/cakephp38.php b/config/set/cakephp38.php similarity index 100% rename from config/set/cakephp/cakephp38.php rename to config/set/cakephp38.php diff --git a/config/set/cakephp/cakephp40.php b/config/set/cakephp40.php similarity index 100% rename from config/set/cakephp/cakephp40.php rename to config/set/cakephp40.php diff --git a/config/set/cakephp/cakephp41.yml b/config/set/cakephp41.yml similarity index 100% rename from config/set/cakephp/cakephp41.yml rename to config/set/cakephp41.yml diff --git a/config/set/celebrity/celebrity.php b/config/set/celebrity.php similarity index 100% rename from config/set/celebrity/celebrity.php rename to config/set/celebrity.php diff --git a/config/set/code-quality/code-quality.php b/config/set/code-quality.php similarity index 100% rename from config/set/code-quality/code-quality.php rename to config/set/code-quality.php diff --git a/config/set/codeigniter/codeigniter-40.php b/config/set/codeigniter-40.php similarity index 100% rename from config/set/codeigniter/codeigniter-40.php rename to config/set/codeigniter-40.php diff --git a/config/set/coding-style/coding-style.php b/config/set/coding-style.php similarity index 100% rename from config/set/coding-style/coding-style.php rename to config/set/coding-style.php diff --git a/config/set/architecture/constructor-injectin-to-action-injection.php b/config/set/constructor-injectin-to-action-injection.php similarity index 100% rename from config/set/architecture/constructor-injectin-to-action-injection.php rename to config/set/constructor-injectin-to-action-injection.php diff --git a/config/set/framework-migration/nette-to-symfony/contributte-to-symfony.php b/config/set/contributte-to-symfony.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/contributte-to-symfony.php rename to config/set/contributte-to-symfony.php diff --git a/config/set/dead-code/dead-classes.php b/config/set/dead-classes.php similarity index 100% rename from config/set/dead-code/dead-classes.php rename to config/set/dead-classes.php diff --git a/config/set/dead-code/dead-code.php b/config/set/dead-code.php similarity index 100% rename from config/set/dead-code/dead-code.php rename to config/set/dead-code.php diff --git a/config/set/decomplex/decomplex.php b/config/set/decomplex/decomplex.php deleted file mode 100644 index dcebf6870b6..00000000000 --- a/config/set/decomplex/decomplex.php +++ /dev/null @@ -1,12 +0,0 @@ -services(); - - $services->set(UseMessageVariableForSprintfInSymfonyStyleRector::class); -}; diff --git a/config/set/knplabs/doctrine-behaviors-20.php b/config/set/doctrine-behaviors-20.php similarity index 100% rename from config/set/knplabs/doctrine-behaviors-20.php rename to config/set/doctrine-behaviors-20.php diff --git a/config/set/doctrine/doctrine-code-quality.php b/config/set/doctrine-code-quality.php similarity index 100% rename from config/set/doctrine/doctrine-code-quality.php rename to config/set/doctrine-code-quality.php diff --git a/config/set/doctrine/doctrine-common-20.php b/config/set/doctrine-common-20.php similarity index 100% rename from config/set/doctrine/doctrine-common-20.php rename to config/set/doctrine-common-20.php diff --git a/config/set/doctrine/doctrine-dbal-210.php b/config/set/doctrine-dbal-210.php similarity index 100% rename from config/set/doctrine/doctrine-dbal-210.php rename to config/set/doctrine-dbal-210.php diff --git a/config/set/doctrine/doctrine-dbal-30.php b/config/set/doctrine-dbal-30.php similarity index 100% rename from config/set/doctrine/doctrine-dbal-30.php rename to config/set/doctrine-dbal-30.php diff --git a/config/set/knplabs/doctrine-gedmo-to-knplabs.php b/config/set/doctrine-gedmo-to-knplabs.php similarity index 100% rename from config/set/knplabs/doctrine-gedmo-to-knplabs.php rename to config/set/doctrine-gedmo-to-knplabs.php diff --git a/config/set/doctrine/doctrine-id-to-uuid-step-1.php b/config/set/doctrine-id-to-uuid-step-1.php similarity index 100% rename from config/set/doctrine/doctrine-id-to-uuid-step-1.php rename to config/set/doctrine-id-to-uuid-step-1.php diff --git a/config/set/doctrine/doctrine-id-to-uuid-step-2.php b/config/set/doctrine-id-to-uuid-step-2.php similarity index 100% rename from config/set/doctrine/doctrine-id-to-uuid-step-2.php rename to config/set/doctrine-id-to-uuid-step-2.php diff --git a/config/set/doctrine/doctrine-id-to-uuid-step-3.php b/config/set/doctrine-id-to-uuid-step-3.php similarity index 100% rename from config/set/doctrine/doctrine-id-to-uuid-step-3.php rename to config/set/doctrine-id-to-uuid-step-3.php diff --git a/config/set/doctrine/doctrine-id-to-uuid-step-4.php b/config/set/doctrine-id-to-uuid-step-4.php similarity index 100% rename from config/set/doctrine/doctrine-id-to-uuid-step-4.php rename to config/set/doctrine-id-to-uuid-step-4.php diff --git a/config/set/doctrine/doctrine-id-to-uuid-step-5.php b/config/set/doctrine-id-to-uuid-step-5.php similarity index 100% rename from config/set/doctrine/doctrine-id-to-uuid-step-5.php rename to config/set/doctrine-id-to-uuid-step-5.php diff --git a/config/set/architecture/doctrine-repository-as-service.php b/config/set/doctrine-repository-as-service.php similarity index 100% rename from config/set/architecture/doctrine-repository-as-service.php rename to config/set/doctrine-repository-as-service.php diff --git a/config/set/doctrine/doctrine-services.php b/config/set/doctrine-services.php similarity index 100% rename from config/set/doctrine/doctrine-services.php rename to config/set/doctrine-services.php diff --git a/config/set/doctrine/doctrine25.php b/config/set/doctrine25.php similarity index 100% rename from config/set/doctrine/doctrine25.php rename to config/set/doctrine25.php diff --git a/config/set/downgrade/downgrade.php b/config/set/downgrade.php similarity index 100% rename from config/set/downgrade/downgrade.php rename to config/set/downgrade.php diff --git a/config/set/easy-corp/easy-admin-bundle20.php b/config/set/easy-admin-bundle20.php similarity index 100% rename from config/set/easy-corp/easy-admin-bundle20.php rename to config/set/easy-admin-bundle20.php diff --git a/config/set/elasticsearch-dsl/elasticsearch-dsl50.php b/config/set/elasticsearch-dsl50.php similarity index 100% rename from config/set/elasticsearch-dsl/elasticsearch-dsl50.php rename to config/set/elasticsearch-dsl50.php diff --git a/config/set/sensio/framework-extra-bundle-40.php b/config/set/framework-extra-bundle-40.php similarity index 100% rename from config/set/sensio/framework-extra-bundle-40.php rename to config/set/framework-extra-bundle-40.php diff --git a/config/set/sensio/framework-extra-bundle-50.php b/config/set/framework-extra-bundle-50.php similarity index 100% rename from config/set/sensio/framework-extra-bundle-50.php rename to config/set/framework-extra-bundle-50.php diff --git a/config/set/php-extension-migration/gmagick_to_imagick.php b/config/set/gmagick_to_imagick.php similarity index 100% rename from config/set/php-extension-migration/gmagick_to_imagick.php rename to config/set/gmagick_to_imagick.php diff --git a/config/set/guzzle/guzzle50.php b/config/set/guzzle50.php similarity index 100% rename from config/set/guzzle/guzzle50.php rename to config/set/guzzle50.php diff --git a/config/set/jms/jms-decouple.php b/config/set/jms-decouple.php similarity index 100% rename from config/set/jms/jms-decouple.php rename to config/set/jms-decouple.php diff --git a/config/set/nette/kdyby-events-to-contributte-event-dispatcher.php b/config/set/kdyby-events-to-contributte-event-dispatcher.php similarity index 100% rename from config/set/nette/kdyby-events-to-contributte-event-dispatcher.php rename to config/set/kdyby-events-to-contributte-event-dispatcher.php diff --git a/config/set/framework-migration/nette-to-symfony/kdyby-to-symfony.php b/config/set/kdyby-to-symfony.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/kdyby-to-symfony.php rename to config/set/kdyby-to-symfony.php diff --git a/config/set/nette/kdyby-translator-to-contributte-translation.php b/config/set/kdyby-translator-to-contributte-translation.php similarity index 100% rename from config/set/nette/kdyby-translator-to-contributte-translation.php rename to config/set/kdyby-translator-to-contributte-translation.php diff --git a/config/set/laravel/static/array-str-functions-to-static-call.php b/config/set/laravel-array-str-functions-to-static-call.php similarity index 100% rename from config/set/laravel/static/array-str-functions-to-static-call.php rename to config/set/laravel-array-str-functions-to-static-call.php diff --git a/config/set/laravel/laravel-static-to-injection.php b/config/set/laravel-static-to-injection.php similarity index 100% rename from config/set/laravel/laravel-static-to-injection.php rename to config/set/laravel-static-to-injection.php diff --git a/config/set/laravel/laravel50.php b/config/set/laravel50.php similarity index 100% rename from config/set/laravel/laravel50.php rename to config/set/laravel50.php diff --git a/config/set/laravel/laravel51.php b/config/set/laravel51.php similarity index 100% rename from config/set/laravel/laravel51.php rename to config/set/laravel51.php diff --git a/config/set/laravel/laravel52.php b/config/set/laravel52.php similarity index 100% rename from config/set/laravel/laravel52.php rename to config/set/laravel52.php diff --git a/config/set/laravel/laravel53.php b/config/set/laravel53.php similarity index 100% rename from config/set/laravel/laravel53.php rename to config/set/laravel53.php diff --git a/config/set/laravel/laravel54.php b/config/set/laravel54.php similarity index 100% rename from config/set/laravel/laravel54.php rename to config/set/laravel54.php diff --git a/config/set/laravel/laravel55.php b/config/set/laravel55.php similarity index 100% rename from config/set/laravel/laravel55.php rename to config/set/laravel55.php diff --git a/config/set/laravel/laravel56.php b/config/set/laravel56.php similarity index 100% rename from config/set/laravel/laravel56.php rename to config/set/laravel56.php diff --git a/config/set/laravel/laravel57.php b/config/set/laravel57.php similarity index 100% rename from config/set/laravel/laravel57.php rename to config/set/laravel57.php diff --git a/config/set/laravel/laravel58.php b/config/set/laravel58.php similarity index 100% rename from config/set/laravel/laravel58.php rename to config/set/laravel58.php diff --git a/config/set/laravel/laravel60.php b/config/set/laravel60.php similarity index 100% rename from config/set/laravel/laravel60.php rename to config/set/laravel60.php diff --git a/config/set/framework-migration/mockista-to-mockery.php b/config/set/mockista-to-mockery.php similarity index 100% rename from config/set/framework-migration/mockista-to-mockery.php rename to config/set/mockista-to-mockery.php diff --git a/config/set/monolog/monolog20.php b/config/set/monolog20.php similarity index 100% rename from config/set/monolog/monolog20.php rename to config/set/monolog20.php diff --git a/config/set/database-migration/mysql-to-mysqli.php b/config/set/mysql-to-mysqli.php similarity index 100% rename from config/set/database-migration/mysql-to-mysqli.php rename to config/set/mysql-to-mysqli.php diff --git a/config/set/naming/naming.php b/config/set/naming.php similarity index 100% rename from config/set/naming/naming.php rename to config/set/naming.php diff --git a/config/set/nette/nette-30/nette-param-types.php b/config/set/nette-30-param-types.php similarity index 100% rename from config/set/nette/nette-30/nette-param-types.php rename to config/set/nette-30-param-types.php diff --git a/config/set/nette/nette-30/nette-return-types.php b/config/set/nette-30-return-types.php similarity index 100% rename from config/set/nette/nette-30/nette-return-types.php rename to config/set/nette-30-return-types.php diff --git a/config/set/nette/nette-30.php b/config/set/nette-30.php similarity index 100% rename from config/set/nette/nette-30.php rename to config/set/nette-30.php diff --git a/config/set/nette/nette-application-code-quality.php b/config/set/nette-application-code-quality.php similarity index 100% rename from config/set/nette/nette-application-code-quality.php rename to config/set/nette-application-code-quality.php diff --git a/config/set/framework-migration/nette-to-symfony/nette-control-to-symfony-controller.php b/config/set/nette-control-to-symfony-controller.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/nette-control-to-symfony-controller.php rename to config/set/nette-control-to-symfony-controller.php diff --git a/config/set/framework-migration/nette-to-symfony/nette-forms-to-symfony.php b/config/set/nette-forms-to-symfony.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/nette-forms-to-symfony.php rename to config/set/nette-forms-to-symfony.php diff --git a/config/set/framework-migration/nette-to-symfony/nette-tester-to-phpunit.php b/config/set/nette-tester-to-phpunit.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/nette-tester-to-phpunit.php rename to config/set/nette-tester-to-phpunit.php diff --git a/config/set/framework-migration/nette-to-symfony/doctrine.php b/config/set/nette-to-symfony-doctrine.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony/doctrine.php rename to config/set/nette-to-symfony-doctrine.php diff --git a/config/set/framework-migration/nette-to-symfony.php b/config/set/nette-to-symfony.php similarity index 100% rename from config/set/framework-migration/nette-to-symfony.php rename to config/set/nette-to-symfony.php diff --git a/config/set/nette/nette-utils-code-quality.php b/config/set/nette-utils-code-quality.php similarity index 100% rename from config/set/nette/nette-utils-code-quality.php rename to config/set/nette-utils-code-quality.php diff --git a/config/set/order/order.php b/config/set/order.php similarity index 100% rename from config/set/order/order.php rename to config/set/order.php diff --git a/config/set/performance/performance.php b/config/set/performance.php similarity index 100% rename from config/set/performance/performance.php rename to config/set/performance.php diff --git a/config/set/phalcon/phalcon40.php b/config/set/phalcon40.php similarity index 100% rename from config/set/phalcon/phalcon40.php rename to config/set/phalcon40.php diff --git a/config/set/php-code-sniffer/php-code-sniffer30.php b/config/set/php-code-sniffer30.php similarity index 100% rename from config/set/php-code-sniffer/php-code-sniffer30.php rename to config/set/php-code-sniffer30.php diff --git a/config/set/php-di/php-di-decouple.php b/config/set/php-di-decouple.php similarity index 100% rename from config/set/php-di/php-di-decouple.php rename to config/set/php-di-decouple.php diff --git a/config/set/php/php52.php b/config/set/php52.php similarity index 100% rename from config/set/php/php52.php rename to config/set/php52.php diff --git a/config/set/php/php53.php b/config/set/php53.php similarity index 100% rename from config/set/php/php53.php rename to config/set/php53.php diff --git a/config/set/php/php54.php b/config/set/php54.php similarity index 100% rename from config/set/php/php54.php rename to config/set/php54.php diff --git a/config/set/php/php55.php b/config/set/php55.php similarity index 100% rename from config/set/php/php55.php rename to config/set/php55.php diff --git a/config/set/php/php56.php b/config/set/php56.php similarity index 100% rename from config/set/php/php56.php rename to config/set/php56.php diff --git a/config/set/php/php70.php b/config/set/php70.php similarity index 100% rename from config/set/php/php70.php rename to config/set/php70.php diff --git a/config/set/php/php71.php b/config/set/php71.php similarity index 100% rename from config/set/php/php71.php rename to config/set/php71.php diff --git a/config/set/php/php72.php b/config/set/php72.php similarity index 100% rename from config/set/php/php72.php rename to config/set/php72.php diff --git a/config/set/php/php73.php b/config/set/php73.php similarity index 100% rename from config/set/php/php73.php rename to config/set/php73.php diff --git a/config/set/php/php74.php b/config/set/php74.php similarity index 100% rename from config/set/php/php74.php rename to config/set/php74.php diff --git a/config/set/php/php80.php b/config/set/php80.php similarity index 100% rename from config/set/php/php80.php rename to config/set/php80.php diff --git a/config/set/php-office/phpexcel-to-phpspreadsheet.php b/config/set/phpexcel-to-phpspreadsheet.php similarity index 100% rename from config/set/php-office/phpexcel-to-phpspreadsheet.php rename to config/set/phpexcel-to-phpspreadsheet.php diff --git a/config/set/framework-migration/phpspec-to-phpunit.php b/config/set/phpspec-to-phpunit.php similarity index 100% rename from config/set/framework-migration/phpspec-to-phpunit.php rename to config/set/phpspec-to-phpunit.php diff --git a/config/set/phpspec/phpspec30.php b/config/set/phpspec30.php similarity index 100% rename from config/set/phpspec/phpspec30.php rename to config/set/phpspec30.php diff --git a/config/set/phpspec/phpspec40.php b/config/set/phpspec40.php similarity index 100% rename from config/set/phpspec/phpspec40.php rename to config/set/phpspec40.php diff --git a/config/set/phpstan/phpstan.php b/config/set/phpstan.php similarity index 100% rename from config/set/phpstan/phpstan.php rename to config/set/phpstan.php diff --git a/config/set/phpunit/phpunit-code-quality.php b/config/set/phpunit-code-quality.php similarity index 100% rename from config/set/phpunit/phpunit-code-quality.php rename to config/set/phpunit-code-quality.php diff --git a/config/set/phpunit/phpunit-exception.php b/config/set/phpunit-exception.php similarity index 100% rename from config/set/phpunit/phpunit-exception.php rename to config/set/phpunit-exception.php diff --git a/config/set/phpunit/phpunit-injector.php b/config/set/phpunit-injector.php similarity index 100% rename from config/set/phpunit/phpunit-injector.php rename to config/set/phpunit-injector.php diff --git a/config/set/phpunit/phpunit-mock.php b/config/set/phpunit-mock.php similarity index 100% rename from config/set/phpunit/phpunit-mock.php rename to config/set/phpunit-mock.php diff --git a/config/set/phpunit/phpunit-specific-method.php b/config/set/phpunit-specific-method.php similarity index 100% rename from config/set/phpunit/phpunit-specific-method.php rename to config/set/phpunit-specific-method.php diff --git a/config/set/phpunit/phpunit-yield-data-provider.php b/config/set/phpunit-yield-data-provider.php similarity index 100% rename from config/set/phpunit/phpunit-yield-data-provider.php rename to config/set/phpunit-yield-data-provider.php diff --git a/config/set/phpunit/phpunit40.php b/config/set/phpunit40.php similarity index 100% rename from config/set/phpunit/phpunit40.php rename to config/set/phpunit40.php diff --git a/config/set/phpunit/phpunit50.php b/config/set/phpunit50.php similarity index 100% rename from config/set/phpunit/phpunit50.php rename to config/set/phpunit50.php diff --git a/config/set/phpunit/phpunit60.php b/config/set/phpunit60.php similarity index 100% rename from config/set/phpunit/phpunit60.php rename to config/set/phpunit60.php diff --git a/config/set/phpunit/phpunit70.php b/config/set/phpunit70.php similarity index 100% rename from config/set/phpunit/phpunit70.php rename to config/set/phpunit70.php diff --git a/config/set/phpunit/phpunit75.php b/config/set/phpunit75.php similarity index 100% rename from config/set/phpunit/phpunit75.php rename to config/set/phpunit75.php diff --git a/config/set/phpunit/phpunit80-dms.php b/config/set/phpunit80-dms.php similarity index 100% rename from config/set/phpunit/phpunit80-dms.php rename to config/set/phpunit80-dms.php diff --git a/config/set/phpunit/phpunit80.php b/config/set/phpunit80.php similarity index 100% rename from config/set/phpunit/phpunit80.php rename to config/set/phpunit80.php diff --git a/config/set/phpunit/phpunit90.php b/config/set/phpunit90.php similarity index 100% rename from config/set/phpunit/phpunit90.php rename to config/set/phpunit90.php diff --git a/config/set/phpunit/phpunit91.php b/config/set/phpunit91.php similarity index 100% rename from config/set/phpunit/phpunit91.php rename to config/set/phpunit91.php diff --git a/config/set/privatization/privatization.php b/config/set/privatization.php similarity index 100% rename from config/set/privatization/privatization.php rename to config/set/privatization.php diff --git a/config/set/psr-4/psr-4.php b/config/set/psr-4.php similarity index 100% rename from config/set/psr-4/psr-4.php rename to config/set/psr-4.php diff --git a/config/set/thecodingmachine/safe07.php b/config/set/safe07.php similarity index 100% rename from config/set/thecodingmachine/safe07.php rename to config/set/safe07.php diff --git a/config/set/shopware/shopware55.php b/config/set/shopware55.php similarity index 100% rename from config/set/shopware/shopware55.php rename to config/set/shopware55.php diff --git a/config/set/shopware/shopware56.php b/config/set/shopware56.php similarity index 100% rename from config/set/shopware/shopware56.php rename to config/set/shopware56.php diff --git a/config/set/solid/solid.php b/config/set/solid.php similarity index 70% rename from config/set/solid/solid.php rename to config/set/solid.php index 66f8fe3a70b..fc6cb726513 100644 --- a/config/set/solid/solid.php +++ b/config/set/solid.php @@ -2,11 +2,15 @@ declare(strict_types=1); +use Rector\Decomplex\Rector\MethodCall\UseMessageVariableForSprintfInSymfonyStyleRector; use Rector\SOLID\Rector\Class_\FinalizeClassesWithoutChildrenRector; use Rector\SOLID\Rector\Class_\MakeUnusedClassesWithChildrenAbstractRector; use Rector\SOLID\Rector\Class_\RepeatedLiteralToClassConstantRector; use Rector\SOLID\Rector\ClassMethod\ChangeReadOnlyVariableWithDefaultValueToConstantRector; use Rector\SOLID\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector; +use Rector\SOLID\Rector\If_\ChangeIfElseValueAssignToEarlyReturnRector; +use Rector\SOLID\Rector\If_\ChangeNestedIfsToEarlyReturnRector; +use Rector\SOLID\Rector\If_\RemoveAlwaysElseRector; use Rector\SOLID\Rector\Property\AddFalseDefaultToBoolPropertyRector; use Rector\SOLID\Rector\Property\ChangeReadOnlyPropertyWithDefaultValueToConstantRector; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; @@ -27,4 +31,12 @@ return static function (ContainerConfigurator $containerConfigurator): void { $services->set(AddFalseDefaultToBoolPropertyRector::class); $services->set(RepeatedLiteralToClassConstantRector::class); + + $services->set(RemoveAlwaysElseRector::class); + + $services->set(ChangeNestedIfsToEarlyReturnRector::class); + + $services->set(ChangeIfElseValueAssignToEarlyReturnRector::class); + + $services->set(UseMessageVariableForSprintfInSymfonyStyleRector::class); }; diff --git a/config/set/solid/early-return.php b/config/set/solid/early-return.php deleted file mode 100644 index 4f6ce5d7205..00000000000 --- a/config/set/solid/early-return.php +++ /dev/null @@ -1,18 +0,0 @@ -services(); - - $services->set(RemoveAlwaysElseRector::class); - - $services->set(ChangeNestedIfsToEarlyReturnRector::class); - - $services->set(ChangeIfElseValueAssignToEarlyReturnRector::class); -}; diff --git a/config/set/swiftmailer/swiftmailer60.php b/config/set/swiftmailer60.php similarity index 100% rename from config/set/swiftmailer/swiftmailer60.php rename to config/set/swiftmailer60.php diff --git a/config/set/sylius/sylius10.php b/config/set/sylius10.php similarity index 100% rename from config/set/sylius/sylius10.php rename to config/set/sylius10.php diff --git a/config/set/sylius/sylius102.php b/config/set/sylius102.php similarity index 100% rename from config/set/sylius/sylius102.php rename to config/set/sylius102.php diff --git a/config/set/sylius/sylius109.php b/config/set/sylius109.php similarity index 100% rename from config/set/sylius/sylius109.php rename to config/set/sylius109.php diff --git a/config/set/symfony/symfony-code-quality.php b/config/set/symfony-code-quality.php similarity index 100% rename from config/set/symfony/symfony-code-quality.php rename to config/set/symfony-code-quality.php diff --git a/config/set/symfony/symfony-constructor-injection.php b/config/set/symfony-constructor-injection.php similarity index 100% rename from config/set/symfony/symfony-constructor-injection.php rename to config/set/symfony-constructor-injection.php diff --git a/config/set/symfony/symfony-phpunit.php b/config/set/symfony-phpunit.php similarity index 100% rename from config/set/symfony/symfony-phpunit.php rename to config/set/symfony-phpunit.php diff --git a/config/set/symfony/symfony26.php b/config/set/symfony26.php similarity index 100% rename from config/set/symfony/symfony26.php rename to config/set/symfony26.php diff --git a/config/set/symfony/symfony28.php b/config/set/symfony28.php similarity index 100% rename from config/set/symfony/symfony28.php rename to config/set/symfony28.php diff --git a/config/set/symfony/symfony30.php b/config/set/symfony30.php similarity index 100% rename from config/set/symfony/symfony30.php rename to config/set/symfony30.php diff --git a/config/set/symfony/symfony31.php b/config/set/symfony31.php similarity index 100% rename from config/set/symfony/symfony31.php rename to config/set/symfony31.php diff --git a/config/set/symfony/symfony32.php b/config/set/symfony32.php similarity index 100% rename from config/set/symfony/symfony32.php rename to config/set/symfony32.php diff --git a/config/set/symfony/symfony33.php b/config/set/symfony33.php similarity index 100% rename from config/set/symfony/symfony33.php rename to config/set/symfony33.php diff --git a/config/set/symfony/symfony34.php b/config/set/symfony34.php similarity index 100% rename from config/set/symfony/symfony34.php rename to config/set/symfony34.php diff --git a/config/set/symfony/symfony40.php b/config/set/symfony40.php similarity index 100% rename from config/set/symfony/symfony40.php rename to config/set/symfony40.php diff --git a/config/set/symfony/symfony41.php b/config/set/symfony41.php similarity index 100% rename from config/set/symfony/symfony41.php rename to config/set/symfony41.php diff --git a/config/set/symfony/symfony42.php b/config/set/symfony42.php similarity index 100% rename from config/set/symfony/symfony42.php rename to config/set/symfony42.php diff --git a/config/set/symfony/symfony43.php b/config/set/symfony43.php similarity index 100% rename from config/set/symfony/symfony43.php rename to config/set/symfony43.php diff --git a/config/set/symfony/symfony44.php b/config/set/symfony44.php similarity index 100% rename from config/set/symfony/symfony44.php rename to config/set/symfony44.php diff --git a/config/set/symfony/symfony50-types.php b/config/set/symfony50-types.php similarity index 100% rename from config/set/symfony/symfony50-types.php rename to config/set/symfony50-types.php diff --git a/config/set/symfony/symfony50.php b/config/set/symfony50.php similarity index 100% rename from config/set/symfony/symfony50.php rename to config/set/symfony50.php diff --git a/config/set/twig/twig-underscore-to-namespace.php b/config/set/twig-underscore-to-namespace.php similarity index 100% rename from config/set/twig/twig-underscore-to-namespace.php rename to config/set/twig-underscore-to-namespace.php diff --git a/config/set/twig/twig112.php b/config/set/twig112.php similarity index 100% rename from config/set/twig/twig112.php rename to config/set/twig112.php diff --git a/config/set/twig/twig127.php b/config/set/twig127.php similarity index 100% rename from config/set/twig/twig127.php rename to config/set/twig127.php diff --git a/config/set/twig/twig134.php b/config/set/twig134.php similarity index 100% rename from config/set/twig/twig134.php rename to config/set/twig134.php diff --git a/config/set/twig/twig140.php b/config/set/twig140.php similarity index 100% rename from config/set/twig/twig140.php rename to config/set/twig140.php diff --git a/config/set/twig/twig20.php b/config/set/twig20.php similarity index 100% rename from config/set/twig/twig20.php rename to config/set/twig20.php diff --git a/config/set/twig/twig240.php b/config/set/twig240.php similarity index 100% rename from config/set/twig/twig240.php rename to config/set/twig240.php diff --git a/config/set/type-declaration/type-declaration.php b/config/set/type-declaration.php similarity index 100% rename from config/set/type-declaration/type-declaration.php rename to config/set/type-declaration.php diff --git a/config/set/polyfill/unwrap-compat.php b/config/set/unwrap-compat.php similarity index 100% rename from config/set/polyfill/unwrap-compat.php rename to config/set/unwrap-compat.php diff --git a/packages/rector-generator/src/ConfigResolver.php b/packages/rector-generator/src/ConfigResolver.php index fa8b6099362..cd5c309fc24 100644 --- a/packages/rector-generator/src/ConfigResolver.php +++ b/packages/rector-generator/src/ConfigResolver.php @@ -5,12 +5,17 @@ declare(strict_types=1); namespace Rector\RectorGenerator; use Nette\Utils\Strings; +use Rector\Core\Configuration\Set\SetResolver; use Rector\Core\ValueObject\SetDirectory; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; final class ConfigResolver { + /** + * @deprecated Use + * @see SetResolver instead + */ public function resolveSetConfig(string $set): ?string { if ($set === '') { diff --git a/src/Console/Command/SetsCommand.php b/src/Console/Command/SetsCommand.php index b1ca4ff8b7f..093d4527071 100644 --- a/src/Console/Command/SetsCommand.php +++ b/src/Console/Command/SetsCommand.php @@ -23,12 +23,12 @@ final class SetsCommand extends AbstractCommand /** * @var SetProvider */ - private $setProvider; + private $staticSetProvider; - public function __construct(SymfonyStyle $symfonyStyle, SetProvider $setProvider) + public function __construct(SymfonyStyle $symfonyStyle, SetProvider $staticSetProvider) { $this->symfonyStyle = $symfonyStyle; - $this->setProvider = $setProvider; + $this->staticSetProvider = $staticSetProvider; parent::__construct(); } @@ -42,7 +42,7 @@ final class SetsCommand extends AbstractCommand protected function execute(InputInterface $input, OutputInterface $output): int { - $sets = $this->setProvider->provide(); + $sets = $this->staticSetProvider->provide(); $name = (string) $input->getArgument('name'); if ($name) { diff --git a/src/Set/SetProvider.php b/src/Set/SetProvider.php index 033255f76c4..cb25fe8b47d 100644 --- a/src/Set/SetProvider.php +++ b/src/Set/SetProvider.php @@ -4,26 +4,186 @@ declare(strict_types=1); namespace Rector\Core\Set; -use Rector\Core\ValueObject\SetDirectory; -use Symfony\Component\Finder\Finder; +use Rector\Core\ValueObject\Set; +use Symplify\SmartFileSystem\SmartFileInfo; final class SetProvider { /** - * @return string[] + * @var array + */ + private const SET_PATH_TO_FILEPATH = [ + Set::ACTION_INJECTION_TO_CONSTRUCTOR_INJECTION => __DIR__ . '/../../config/set/action-injection-to-constructor-injection.php', + Set::ARRAY_STR_FUNCTIONS_TO_STATIC_CALL => __DIR__ . '/../../config/set/laravel-array-str-functions-to-static-call.php', + Set::CAKEPHP_30 => __DIR__ . '/../../config/set/cakephp30.php', + Set::CAKEPHP_34 => __DIR__ . '/../../config/set/cakephp34.php', + Set::CAKEPHP_35 => __DIR__ . '/../../config/set/cakephp35.php', + Set::CAKEPHP_36 => __DIR__ . '/../../config/set/cakephp36.php', + Set::CAKEPHP_37 => __DIR__ . '/../../config/set/cakephp37.php', + Set::CAKEPHP_38 => __DIR__ . '/../../config/set/cakephp38.php', + Set::CAKEPHP_40 => __DIR__ . '/../../config/set/cakephp40.php', + Set::CAKEPHP_FLUENT_OPTIONS => __DIR__ . '/../../config/set/cakephp-fluent-options.php', + Set::CELEBRITY => __DIR__ . '/../../config/set/celebrity.php', + Set::CODEIGNITER_40 => __DIR__ . '/../../config/set/codeigniter-40.php', + Set::CODE_QUALITY => __DIR__ . '/../../config/set/code-quality.php', + Set::CODING_STYLE => __DIR__ . '/../../config/set/coding-style.php', + Set::CONSTRUCTOR_INJECTIN_TO_ACTION_INJECTION => __DIR__ . '/../../config/set/constructor-injectin-to-action-injection.php', + Set::CONTRIBUTTE_TO_SYMFONY => __DIR__ . '/../../config/set/contributte-to-symfony.php', + Set::DEAD_CLASSES => __DIR__ . '/../../config/set/dead-classes.php', + Set::DEAD_CODE => __DIR__ . '/../../config/set/dead-code.php', + Set::DOCTRINE_25 => __DIR__ . '/../../config/set/doctrine25.php', + Set::DOCTRINE_BEHAVIORS_20 => __DIR__ . '/../../config/set/doctrine-behaviors-20.php', + Set::DOCTRINE_CODE_QUALITY => __DIR__ . '/../../config/set/doctrine-code-quality.php', + Set::DOCTRINE_COMMON_20 => __DIR__ . '/../../config/set/doctrine-common-20.php', + Set::DOCTRINE_DBAL_210 => __DIR__ . '/../../config/set/doctrine-dbal-210.php', + Set::DOCTRINE_DBAL_30 => __DIR__ . '/../../config/set/doctrine-dbal-30.php', + Set::DOCTRINE_GEDMO_TO_KNPLABS => __DIR__ . '/../../config/set/doctrine-gedmo-to-knplabs.php', + Set::DOCTRINE_ID_TO_UUID_STEP_1 => __DIR__ . '/../../config/set/doctrine-id-to-uuid-step-1.php', + Set::DOCTRINE_ID_TO_UUID_STEP_2 => __DIR__ . '/../../config/set/doctrine-id-to-uuid-step-2.php', + Set::DOCTRINE_ID_TO_UUID_STEP_3 => __DIR__ . '/../../config/set/doctrine-id-to-uuid-step-3.php', + Set::DOCTRINE_ID_TO_UUID_STEP_4 => __DIR__ . '/../../config/set/doctrine-id-to-uuid-step-4.php', + Set::DOCTRINE_ID_TO_UUID_STEP_5 => __DIR__ . '/../../config/set/doctrine-id-to-uuid-step-5.php', + Set::DOCTRINE_REPOSITORY_AS_SERVICE => __DIR__ . '/../../config/set/doctrine-repository-as-service.php', + Set::DOCTRINE_SERVICES => __DIR__ . '/../../config/set/doctrine-services.php', + Set::DOWNGRADE => __DIR__ . '/../../config/set/downgrade.php', + Set::EASY_ADMIN_BUNDLE_20 => __DIR__ . '/../../config/set/easy-admin-bundle20.php', + Set::ELASTICSEARCH_DSL_50 => __DIR__ . '/../../config/set/elasticsearch-dsl50.php', + Set::FRAMEWORK_EXTRA_BUNDLE_40 => __DIR__ . '/../../config/set/framework-extra-bundle-40.php', + Set::FRAMEWORK_EXTRA_BUNDLE_50 => __DIR__ . '/../../config/set/framework-extra-bundle-50.php', + Set::GMAGICK_TO_IMAGICK => __DIR__ . '/../../config/set/gmagick_to_imagick.php', + Set::GUZZLE_50 => __DIR__ . '/../../config/set/guzzle50.php', + Set::JMS_DECOUPLE => __DIR__ . '/../../config/set/jms-decouple.php', + Set::KDYBY_EVENTS_TO_CONTRIBUTTE_EVENT_DISPATCHER => __DIR__ . '/../../config/set/kdyby-events-to-contributte-event-dispatcher.php', + Set::KDYBY_TO_SYMFONY => __DIR__ . '/../../config/set/kdyby-to-symfony.php', + Set::KDYBY_TRANSLATOR_TO_CONTRIBUTTE_TRANSLATION => __DIR__ . '/../../config/set/kdyby-translator-to-contributte-translation.php', + Set::LARAVEL_50 => __DIR__ . '/../../config/set/laravel50.php', + Set::LARAVEL_51 => __DIR__ . '/../../config/set/laravel51.php', + Set::LARAVEL_52 => __DIR__ . '/../../config/set/laravel52.php', + Set::LARAVEL_53 => __DIR__ . '/../../config/set/laravel53.php', + Set::LARAVEL_54 => __DIR__ . '/../../config/set/laravel54.php', + Set::LARAVEL_55 => __DIR__ . '/../../config/set/laravel55.php', + Set::LARAVEL_56 => __DIR__ . '/../../config/set/laravel56.php', + Set::LARAVEL_57 => __DIR__ . '/../../config/set/laravel57.php', + Set::LARAVEL_58 => __DIR__ . '/../../config/set/laravel58.php', + Set::LARAVEL_60 => __DIR__ . '/../../config/set/laravel60.php', + Set::LARAVEL_STATIC_TO_INJECTION => __DIR__ . '/../../config/set/laravel-static-to-injection.php', + Set::MOCKISTA_TO_MOCKERY => __DIR__ . '/../../config/set/mockista-to-mockery.php', + Set::MONOLOG_20 => __DIR__ . '/../../config/set/monolog20.php', + Set::MYSQL_TO_MYSQLI => __DIR__ . '/../../config/set/mysql-to-mysqli.php', + Set::NAMING => __DIR__ . '/../../config/set/naming.php', + Set::NETTE_30 => __DIR__ . '/../../config/set/nette-30.php', + Set::NETTE_APPLICATION_CODE_QUALITY => __DIR__ . '/../../config/set/nette-application-code-quality.php', + Set::NETTE_CONTROL_TO_SYMFONY_CONTROLLER => __DIR__ . '/../../config/set/nette-control-to-symfony-controller.php', + Set::NETTE_FORMS_TO_SYMFONY => __DIR__ . '/../../config/set/nette-forms-to-symfony.php', + Set::NETTE_PARAM_TYPES => __DIR__ . '/../../config/set/nette-30-param-types.php', + Set::NETTE_RETURN_TYPES => __DIR__ . '/../../config/set/nette-30-return-types.php', + Set::NETTE_TESTER_TO_PHPUNIT => __DIR__ . '/../../config/set/nette-tester-to-phpunit.php', + Set::NETTE_TO_SYMFONY => __DIR__ . '/../../config/set/nette-to-symfony.php', + Set::NETTE_UTILS_CODE_QUALITY => __DIR__ . '/../../config/set/nette-utils-code-quality.php', + Set::ORDER => __DIR__ . '/../../config/set/order.php', + Set::PERFORMANCE => __DIR__ . '/../../config/set/performance.php', + Set::PHALCON_40 => __DIR__ . '/../../config/set/phalcon40.php', + Set::PHPEXCEL_TO_PHPSPREADSHEET => __DIR__ . '/../../config/set/phpexcel-to-phpspreadsheet.php', + Set::PHPSPEC_30 => __DIR__ . '/../../config/set/phpspec30.php', + Set::PHPSPEC_40 => __DIR__ . '/../../config/set/phpspec40.php', + Set::PHPSPEC_TO_PHPUNIT => __DIR__ . '/../../config/set/phpspec-to-phpunit.php', + Set::PHPSTAN => __DIR__ . '/../../config/set/phpstan.php', + Set::PHPUNIT80_DMS => __DIR__ . '/../../config/set/phpunit80-dms.php', + Set::PHPUNIT_40 => __DIR__ . '/../../config/set/phpunit40.php', + Set::PHPUNIT_50 => __DIR__ . '/../../config/set/phpunit50.php', + Set::PHPUNIT_60 => __DIR__ . '/../../config/set/phpunit60.php', + Set::PHPUNIT_70 => __DIR__ . '/../../config/set/phpunit70.php', + Set::PHPUNIT_75 => __DIR__ . '/../../config/set/phpunit75.php', + Set::PHPUNIT_80 => __DIR__ . '/../../config/set/phpunit80.php', + Set::PHPUNIT_90 => __DIR__ . '/../../config/set/phpunit90.php', + Set::PHPUNIT_91 => __DIR__ . '/../../config/set/phpunit91.php', + Set::PHPUNIT_CODE_QUALITY => __DIR__ . '/../../config/set/phpunit-code-quality.php', + Set::PHPUNIT_EXCEPTION => __DIR__ . '/../../config/set/phpunit-exception.php', + Set::PHPUNIT_INJECTOR => __DIR__ . '/../../config/set/phpunit-injector.php', + Set::PHPUNIT_MOCK => __DIR__ . '/../../config/set/phpunit-mock.php', + Set::PHPUNIT_SPECIFIC_METHOD => __DIR__ . '/../../config/set/phpunit-specific-method.php', + Set::PHPUNIT_YIELD_DATA_PROVIDER => __DIR__ . '/../../config/set/phpunit-yield-data-provider.php', + Set::PHP_52 => __DIR__ . '/../../config/set/php52.php', + Set::PHP_53 => __DIR__ . '/../../config/set/php53.php', + Set::PHP_54 => __DIR__ . '/../../config/set/php54.php', + Set::PHP_55 => __DIR__ . '/../../config/set/php55.php', + Set::PHP_56 => __DIR__ . '/../../config/set/php56.php', + Set::PHP_70 => __DIR__ . '/../../config/set/php70.php', + Set::PHP_71 => __DIR__ . '/../../config/set/php71.php', + Set::PHP_72 => __DIR__ . '/../../config/set/php72.php', + Set::PHP_73 => __DIR__ . '/../../config/set/php73.php', + Set::PHP_74 => __DIR__ . '/../../config/set/php74.php', + Set::PHP_80 => __DIR__ . '/../../config/set/php80.php', + Set::PHP_CODE_SNIFFER_30 => __DIR__ . '/../../config/set/php-code-sniffer30.php', + Set::PHP_DI_DECOUPLE => __DIR__ . '/../../config/set/php-di-decouple.php', + Set::PRIVATIZATION => __DIR__ . '/../../config/set/privatization.php', + Set::PSR_4 => __DIR__ . '/../../config/set/psr-4.php', + Set::SAFE_07 => __DIR__ . '/../../config/set/safe07.php', + Set::SHOPWARE_55 => __DIR__ . '/../../config/set/shopware55.php', + Set::SHOPWARE_56 => __DIR__ . '/../../config/set/shopware56.php', + Set::SOLID => __DIR__ . '/../../config/set/solid.php', + Set::SWIFTMAILER_60 => __DIR__ . '/../../config/set/swiftmailer60.php', + Set::SYLIUS_10 => __DIR__ . '/../../config/set/sylius10.php', + Set::SYLIUS_102 => __DIR__ . '/../../config/set/sylius102.php', + Set::SYLIUS_109 => __DIR__ . '/../../config/set/sylius109.php', + Set::SYMFONY50_TYPES => __DIR__ . '/../../config/set/symfony50-types.php', + Set::SYMFONY_26 => __DIR__ . '/../../config/set/symfony26.php', + Set::SYMFONY_28 => __DIR__ . '/../../config/set/symfony28.php', + Set::SYMFONY_30 => __DIR__ . '/../../config/set/symfony30.php', + Set::SYMFONY_31 => __DIR__ . '/../../config/set/symfony31.php', + Set::SYMFONY_32 => __DIR__ . '/../../config/set/symfony32.php', + Set::SYMFONY_33 => __DIR__ . '/../../config/set/symfony33.php', + Set::SYMFONY_34 => __DIR__ . '/../../config/set/symfony34.php', + Set::SYMFONY_40 => __DIR__ . '/../../config/set/symfony40.php', + Set::SYMFONY_41 => __DIR__ . '/../../config/set/symfony41.php', + Set::SYMFONY_42 => __DIR__ . '/../../config/set/symfony42.php', + Set::SYMFONY_43 => __DIR__ . '/../../config/set/symfony43.php', + Set::SYMFONY_44 => __DIR__ . '/../../config/set/symfony44.php', + Set::SYMFONY_50 => __DIR__ . '/../../config/set/symfony50.php', + Set::SYMFONY_CODE_QUALITY => __DIR__ . '/../../config/set/symfony-code-quality.php', + Set::SYMFONY_CONSTRUCTOR_INJECTION => __DIR__ . '/../../config/set/symfony-constructor-injection.php', + Set::SYMFONY_PHPUNIT => __DIR__ . '/../../config/set/symfony-phpunit.php', + Set::TWIG_112 => __DIR__ . '/../../config/set/twig112.php', + Set::TWIG_127 => __DIR__ . '/../../config/set/twig127.php', + Set::TWIG_134 => __DIR__ . '/../../config/set/twig134.php', + Set::TWIG_140 => __DIR__ . '/../../config/set/twig140.php', + Set::TWIG_20 => __DIR__ . '/../../config/set/twig20.php', + Set::TWIG_240 => __DIR__ . '/../../config/set/twig240.php', + Set::TWIG_UNDERSCORE_TO_NAMESPACE => __DIR__ . '/../../config/set/twig-underscore-to-namespace.php', + Set::TYPE_DECLARATION => __DIR__ . '/../../config/set/type-declaration.php', + Set::UNWRAP_COMPAT => __DIR__ . '/../../config/set/unwrap-compat.php', + ]; + + public function __construct() + { + $this->validateSetFilePaths(); + } + + /** + * @return array */ public function provide(): array { - $finder = Finder::create()->files() - ->in(SetDirectory::SET_DIRECTORY); + return self::SET_PATH_TO_FILEPATH; + } - $sets = []; - foreach ($finder->getIterator() as $fileInfo) { - $sets[] = $fileInfo->getBasename('.' . $fileInfo->getExtension()); + /** + * @return string[] + */ + public function provideSetNames(): array + { + return array_keys(self::SET_PATH_TO_FILEPATH); + } + + public function provideFilePathByName(string $setName): ?string + { + return self::SET_PATH_TO_FILEPATH[$setName] ?? null; + } + + private function validateSetFilePaths(): void + { + foreach (self::SET_PATH_TO_FILEPATH as $setName => $setFilePath) { + new SmartFileInfo($setFilePath); } - - sort($sets); - - return array_unique($sets); } } diff --git a/src/Set/SetResolver.php b/src/Set/SetResolver.php new file mode 100644 index 00000000000..d97a2172f91 --- /dev/null +++ b/src/Set/SetResolver.php @@ -0,0 +1,36 @@ +setProvider = new SetProvider(); + } + + public function resolveSetFromInput(ArgvInput $input) + { + $set = $input->getParameterOption(['-s', '--set']); + if ($set === false) { + return []; + } + + $setFilePath = $this->setProvider->provideFilePathByName($set); + if ($setFilePath === null) { + return []; + } + + dump($setFilePath); + die; + } +} diff --git a/src/ValueObject/Set.php b/src/ValueObject/Set.php index 8faa98fb64e..018c6a38911 100644 --- a/src/ValueObject/Set.php +++ b/src/ValueObject/Set.php @@ -5,860 +5,703 @@ declare(strict_types=1); namespace Rector\Core\ValueObject; /** - * This class is generated by "bin/rector dump-set-contants" + * This class is generated by "bin/rector dump-set-constants" * DO NOT EDIT MANUALLY */ final class Set { /** * @var string - * @api */ public const ACTION_INJECTION_TO_CONSTRUCTOR_INJECTION = 'action-injection-to-constructor-injection'; /** * @var string - * @api */ public const ARRAY_STR_FUNCTIONS_TO_STATIC_CALL = 'array-str-functions-to-static-call'; /** * @var string - * @api */ public const CAKEPHP_30 = 'cakephp30'; /** * @var string - * @api */ public const CAKEPHP_34 = 'cakephp34'; /** * @var string - * @api */ public const CAKEPHP_35 = 'cakephp35'; /** * @var string - * @api */ public const CAKEPHP_36 = 'cakephp36'; /** * @var string - * @api */ public const CAKEPHP_37 = 'cakephp37'; /** * @var string - * @api */ public const CAKEPHP_38 = 'cakephp38'; /** * @var string - * @api */ public const CAKEPHP_40 = 'cakephp40'; /** * @var string - * @api */ public const CAKEPHP_FLUENT_OPTIONS = 'cakephp-fluent-options'; /** * @var string - * @api */ public const CELEBRITY = 'celebrity'; /** * @var string - * @api */ public const CODEIGNITER_40 = 'codeigniter-40'; /** * @var string - * @api */ public const CODE_QUALITY = 'code-quality'; /** * @var string - * @api */ public const CODING_STYLE = 'coding-style'; /** * @var string - * @api */ public const CONSTRUCTOR_INJECTIN_TO_ACTION_INJECTION = 'constructor-injectin-to-action-injection'; /** * @var string - * @api */ public const CONTRIBUTTE_TO_SYMFONY = 'contributte-to-symfony'; /** * @var string - * @api */ public const DEAD_CLASSES = 'dead-classes'; /** * @var string - * @api */ public const DEAD_CODE = 'dead-code'; /** * @var string - * @api - */ - public const DECOMPLEX = 'decomplex'; - - /** - * @var string - * @api - */ - public const DOCTRINE = 'doctrine'; - - /** - * @var string - * @api */ public const DOCTRINE_25 = 'doctrine25'; /** * @var string - * @api */ public const DOCTRINE_BEHAVIORS_20 = 'doctrine-behaviors-20'; /** * @var string - * @api */ public const DOCTRINE_CODE_QUALITY = 'doctrine-code-quality'; /** * @var string - * @api */ public const DOCTRINE_COMMON_20 = 'doctrine-common-20'; /** * @var string - * @api */ public const DOCTRINE_DBAL_210 = 'doctrine-dbal-210'; /** * @var string - * @api */ public const DOCTRINE_DBAL_30 = 'doctrine-dbal-30'; /** * @var string - * @api */ public const DOCTRINE_GEDMO_TO_KNPLABS = 'doctrine-gedmo-to-knplabs'; /** * @var string - * @api */ public const DOCTRINE_ID_TO_UUID_STEP_1 = 'doctrine-id-to-uuid-step-1'; /** * @var string - * @api */ public const DOCTRINE_ID_TO_UUID_STEP_2 = 'doctrine-id-to-uuid-step-2'; /** * @var string - * @api */ public const DOCTRINE_ID_TO_UUID_STEP_3 = 'doctrine-id-to-uuid-step-3'; /** * @var string - * @api */ public const DOCTRINE_ID_TO_UUID_STEP_4 = 'doctrine-id-to-uuid-step-4'; /** * @var string - * @api */ public const DOCTRINE_ID_TO_UUID_STEP_5 = 'doctrine-id-to-uuid-step-5'; /** * @var string - * @api */ public const DOCTRINE_REPOSITORY_AS_SERVICE = 'doctrine-repository-as-service'; /** * @var string - * @api */ public const DOCTRINE_SERVICES = 'doctrine-services'; /** * @var string - * @api */ public const DOWNGRADE = 'downgrade'; /** * @var string - * @api - */ - public const EARLY_RETURN = 'early-return'; - - /** - * @var string - * @api */ public const EASY_ADMIN_BUNDLE_20 = 'easy-admin-bundle20'; /** * @var string - * @api */ public const ELASTICSEARCH_DSL_50 = 'elasticsearch-dsl50'; /** * @var string - * @api */ public const FRAMEWORK_EXTRA_BUNDLE_40 = 'framework-extra-bundle-40'; /** * @var string - * @api */ public const FRAMEWORK_EXTRA_BUNDLE_50 = 'framework-extra-bundle-50'; /** * @var string - * @api */ public const GMAGICK_TO_IMAGICK = 'gmagick_to_imagick'; /** * @var string - * @api */ public const GUZZLE_50 = 'guzzle50'; /** * @var string - * @api */ public const JMS_DECOUPLE = 'jms-decouple'; /** * @var string - * @api */ public const KDYBY_EVENTS_TO_CONTRIBUTTE_EVENT_DISPATCHER = 'kdyby-events-to-contributte-event-dispatcher'; /** * @var string - * @api */ public const KDYBY_TO_SYMFONY = 'kdyby-to-symfony'; /** * @var string - * @api */ public const KDYBY_TRANSLATOR_TO_CONTRIBUTTE_TRANSLATION = 'kdyby-translator-to-contributte-translation'; /** * @var string - * @api */ public const LARAVEL_50 = 'laravel50'; /** * @var string - * @api */ public const LARAVEL_51 = 'laravel51'; /** * @var string - * @api */ public const LARAVEL_52 = 'laravel52'; /** * @var string - * @api */ public const LARAVEL_53 = 'laravel53'; /** * @var string - * @api */ public const LARAVEL_54 = 'laravel54'; /** * @var string - * @api */ public const LARAVEL_55 = 'laravel55'; /** * @var string - * @api */ public const LARAVEL_56 = 'laravel56'; /** * @var string - * @api */ public const LARAVEL_57 = 'laravel57'; /** * @var string - * @api */ public const LARAVEL_58 = 'laravel58'; /** * @var string - * @api */ public const LARAVEL_60 = 'laravel60'; /** * @var string - * @api */ public const LARAVEL_STATIC_TO_INJECTION = 'laravel-static-to-injection'; /** * @var string - * @api */ public const MOCKISTA_TO_MOCKERY = 'mockista-to-mockery'; /** * @var string - * @api */ public const MONOLOG_20 = 'monolog20'; /** * @var string - * @api */ public const MYSQL_TO_MYSQLI = 'mysql-to-mysqli'; /** * @var string - * @api */ public const NAMING = 'naming'; /** * @var string - * @api */ public const NETTE_30 = 'nette-30'; /** * @var string - * @api */ public const NETTE_APPLICATION_CODE_QUALITY = 'nette-application-code-quality'; /** * @var string - * @api */ public const NETTE_CONTROL_TO_SYMFONY_CONTROLLER = 'nette-control-to-symfony-controller'; /** * @var string - * @api */ public const NETTE_FORMS_TO_SYMFONY = 'nette-forms-to-symfony'; /** * @var string - * @api */ public const NETTE_PARAM_TYPES = 'nette-param-types'; /** * @var string - * @api */ public const NETTE_RETURN_TYPES = 'nette-return-types'; /** * @var string - * @api */ public const NETTE_TESTER_TO_PHPUNIT = 'nette-tester-to-phpunit'; /** * @var string - * @api */ public const NETTE_TO_SYMFONY = 'nette-to-symfony'; /** * @var string - * @api */ public const NETTE_UTILS_CODE_QUALITY = 'nette-utils-code-quality'; /** * @var string - * @api */ public const ORDER = 'order'; /** * @var string - * @api */ public const PERFORMANCE = 'performance'; /** * @var string - * @api */ public const PHALCON_40 = 'phalcon40'; /** * @var string - * @api */ public const PHPEXCEL_TO_PHPSPREADSHEET = 'phpexcel-to-phpspreadsheet'; /** * @var string - * @api */ public const PHPSPEC_30 = 'phpspec30'; /** * @var string - * @api */ public const PHPSPEC_40 = 'phpspec40'; /** * @var string - * @api */ public const PHPSPEC_TO_PHPUNIT = 'phpspec-to-phpunit'; /** * @var string - * @api */ public const PHPSTAN = 'phpstan'; /** * @var string - * @api */ public const PHPUNIT80_DMS = 'phpunit80-dms'; /** * @var string - * @api */ public const PHPUNIT_40 = 'phpunit40'; /** * @var string - * @api */ public const PHPUNIT_50 = 'phpunit50'; /** * @var string - * @api */ public const PHPUNIT_60 = 'phpunit60'; /** * @var string - * @api */ public const PHPUNIT_70 = 'phpunit70'; /** * @var string - * @api */ public const PHPUNIT_75 = 'phpunit75'; /** * @var string - * @api */ public const PHPUNIT_80 = 'phpunit80'; /** * @var string - * @api */ public const PHPUNIT_90 = 'phpunit90'; /** * @var string - * @api */ public const PHPUNIT_91 = 'phpunit91'; /** * @var string - * @api */ public const PHPUNIT_CODE_QUALITY = 'phpunit-code-quality'; /** * @var string - * @api */ public const PHPUNIT_EXCEPTION = 'phpunit-exception'; /** * @var string - * @api */ public const PHPUNIT_INJECTOR = 'phpunit-injector'; /** * @var string - * @api */ public const PHPUNIT_MOCK = 'phpunit-mock'; /** * @var string - * @api */ public const PHPUNIT_SPECIFIC_METHOD = 'phpunit-specific-method'; /** * @var string - * @api */ public const PHPUNIT_YIELD_DATA_PROVIDER = 'phpunit-yield-data-provider'; /** * @var string - * @api */ public const PHP_52 = 'php52'; /** * @var string - * @api */ public const PHP_53 = 'php53'; /** * @var string - * @api */ public const PHP_54 = 'php54'; /** * @var string - * @api */ public const PHP_55 = 'php55'; /** * @var string - * @api */ public const PHP_56 = 'php56'; /** * @var string - * @api */ public const PHP_70 = 'php70'; /** * @var string - * @api */ public const PHP_71 = 'php71'; /** * @var string - * @api */ public const PHP_72 = 'php72'; /** * @var string - * @api */ public const PHP_73 = 'php73'; /** * @var string - * @api */ public const PHP_74 = 'php74'; /** * @var string - * @api */ public const PHP_80 = 'php80'; /** * @var string - * @api */ public const PHP_CODE_SNIFFER_30 = 'php-code-sniffer30'; /** * @var string - * @api */ public const PHP_DI_DECOUPLE = 'php-di-decouple'; /** * @var string - * @api */ public const PRIVATIZATION = 'privatization'; /** * @var string - * @api */ public const PSR_4 = 'psr-4'; /** * @var string - * @api */ public const SAFE_07 = 'safe07'; /** * @var string - * @api */ public const SHOPWARE_55 = 'shopware55'; /** * @var string - * @api */ public const SHOPWARE_56 = 'shopware56'; /** * @var string - * @api */ public const SOLID = 'solid'; /** * @var string - * @api */ public const SWIFTMAILER_60 = 'swiftmailer60'; /** * @var string - * @api */ public const SYLIUS_10 = 'sylius10'; /** * @var string - * @api */ public const SYLIUS_102 = 'sylius102'; /** * @var string - * @api */ public const SYLIUS_109 = 'sylius109'; /** * @var string - * @api */ public const SYMFONY50_TYPES = 'symfony50-types'; /** * @var string - * @api */ public const SYMFONY_26 = 'symfony26'; /** * @var string - * @api */ public const SYMFONY_28 = 'symfony28'; /** * @var string - * @api */ public const SYMFONY_30 = 'symfony30'; /** * @var string - * @api */ public const SYMFONY_31 = 'symfony31'; /** * @var string - * @api */ public const SYMFONY_32 = 'symfony32'; /** * @var string - * @api */ public const SYMFONY_33 = 'symfony33'; /** * @var string - * @api */ public const SYMFONY_34 = 'symfony34'; /** * @var string - * @api */ public const SYMFONY_40 = 'symfony40'; /** * @var string - * @api */ public const SYMFONY_41 = 'symfony41'; /** * @var string - * @api */ public const SYMFONY_42 = 'symfony42'; /** * @var string - * @api */ public const SYMFONY_43 = 'symfony43'; /** * @var string - * @api */ public const SYMFONY_44 = 'symfony44'; /** * @var string - * @api */ public const SYMFONY_50 = 'symfony50'; /** * @var string - * @api */ public const SYMFONY_CODE_QUALITY = 'symfony-code-quality'; /** * @var string - * @api */ public const SYMFONY_CONSTRUCTOR_INJECTION = 'symfony-constructor-injection'; /** * @var string - * @api */ public const SYMFONY_PHPUNIT = 'symfony-phpunit'; /** * @var string - * @api */ public const TWIG_112 = 'twig112'; /** * @var string - * @api */ public const TWIG_127 = 'twig127'; /** * @var string - * @api */ public const TWIG_134 = 'twig134'; /** * @var string - * @api */ public const TWIG_140 = 'twig140'; /** * @var string - * @api */ public const TWIG_20 = 'twig20'; /** * @var string - * @api */ public const TWIG_240 = 'twig240'; /** * @var string - * @api */ public const TWIG_UNDERSCORE_TO_NAMESPACE = 'twig-underscore-to-namespace'; /** * @var string - * @api */ public const TYPE_DECLARATION = 'type-declaration'; /** * @var string - * @api */ public const UNWRAP_COMPAT = 'unwrap-compat'; } diff --git a/utils/documentation-generator/src/NodeFactory/SetClassNodeFactory.php b/utils/documentation-generator/src/NodeFactory/SetClassNodeFactory.php index c83e712c37c..0454399dcc2 100644 --- a/utils/documentation-generator/src/NodeFactory/SetClassNodeFactory.php +++ b/utils/documentation-generator/src/NodeFactory/SetClassNodeFactory.php @@ -7,9 +7,7 @@ namespace Rector\Utils\DocumentationGenerator\NodeFactory; use PhpParser\Comment\Doc; use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\Nop; -use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\Core\PhpParser\Node\NodeFactory; -use Rector\NodeTypeResolver\Node\AttributeKey; final class SetClassNodeFactory { @@ -36,11 +34,6 @@ final class SetClassNodeFactory $lastKey = array_key_last($constantNamesToSetNames); foreach ($constantNamesToSetNames as $constantName => $setName) { $classConst = $this->nodeFactory->createPublicClassConst($constantName, $setName); - - /** @var PhpDocInfo $phpDocInfo */ - $phpDocInfo = $classConst->getAttribute(AttributeKey::PHP_DOC_INFO); - $phpDocInfo->addBareTag('api'); - $class->stmts[] = $classConst; // space between constants diff --git a/utils/project-validator/src/Command/ValidateSetsCommand.php b/utils/project-validator/src/Command/ValidateSetsCommand.php index 436dc39c3f7..02fae9bea50 100644 --- a/utils/project-validator/src/Command/ValidateSetsCommand.php +++ b/utils/project-validator/src/Command/ValidateSetsCommand.php @@ -51,16 +51,16 @@ final class ValidateSetsCommand extends Command /** * @var SetProvider */ - private $setProvider; + private $staticSetProvider; public function __construct( CpuCoreCountResolver $cpuCoreCountResolver, ParallelTaskRunner $parallelTaskRunner, - SetProvider $setProvider + SetProvider $staticSetProvider ) { $this->cpuCoreCountResolver = $cpuCoreCountResolver; $this->parallelTaskRunner = $parallelTaskRunner; - $this->setProvider = $setProvider; + $this->staticSetProvider = $staticSetProvider; parent::__construct(); } @@ -90,7 +90,7 @@ final class ValidateSetsCommand extends Command private function createSetTasks(): array { $setTasks = []; - foreach ($this->setProvider->provide() as $setName) { + foreach ($this->staticSetProvider->provideSetNames() as $setName) { if (in_array($setName, self::EXCLUDED_SETS, true)) { continue; }