diff --git a/config/sets/symfony/symfony6/symfony63.php b/config/sets/symfony/symfony6/symfony63.php index 5c33feea..c1434228 100644 --- a/config/sets/symfony/symfony6/symfony63.php +++ b/config/sets/symfony/symfony6/symfony63.php @@ -3,32 +3,12 @@ declare(strict_types=1); use Rector\Config\RectorConfig; -use Rector\Renaming\Rector\Name\RenameClassRector; -use Rector\Symfony\Symfony63\Rector\Class_\ParamAndEnvAttributeRector; -use Rector\Symfony\Symfony63\Rector\Class_\SignalableCommandInterfaceReturnTypeRector; // @see https://github.com/symfony/symfony/blob/6.3/UPGRADE-6.3.md // @see \Rector\Symfony\Tests\Set\Symfony63\Symfony63Test return static function (RectorConfig $rectorConfig): void { - $rectorConfig->ruleWithConfiguration( - RenameClassRector::class, - [ - // @see https://github.com/symfony/symfony/commit/b653adf426aedc66d16c5fc1cf71e261f20b9638 - 'Symfony\Component\DependencyInjection\Attribute\MapDecorated' => 'Symfony\Component\DependencyInjection\Attribute\AutowireDecorated', - // @see https://github.com/symfony/symfony/commit/20ab567385e3812ef661dae01a1fdc5d1bde2666 - '\Http\Client\HttpClient' => 'Psr\Http\Client\ClientInterface', - // @see https://github.com/symfony/symfony/commit/9415b438b75204c72ff66b838307b73646393cbf - 'Symfony\Component\Messenger\EventListener\StopWorkerOnSigtermSignalListener' => 'Symfony\Component\Messenger\EventListener\StopWorkerOnSignalsListener', - // @see https://github.com/symfony/symfony/commit/a7926b2d83f35fe53c41a28d8055490cc1955928 - 'Symfony\Component\Messenger\Transport\InMemoryTransport' => 'Symfony\Component\Messenger\Transport\InMemory\InMemoryTransport', - 'Symfony\Component\Messenger\Transport\InMemoryTransportFactory' => 'Symfony\Component\Messenger\Transport\InMemory\InMemoryTransportFactory', - ], - ); - - $rectorConfig->rules([ - // @see https://github.com/symfony/symfony/commit/1650e3861b5fcd931e5d3eb1dd84bad764020d8e - SignalableCommandInterfaceReturnTypeRector::class, - // @see https://symfony.com/blog/new-in-symfony-6-3-dependency-injection-improvements#new-options-for-autowire-attribute - ParamAndEnvAttributeRector::class, - ]); + $rectorConfig->import(__DIR__ . '/symfony63/symfony63-dependency-injection.php'); + $rectorConfig->import(__DIR__ . '/symfony63/symfony63-http-client.php'); + $rectorConfig->import(__DIR__ . '/symfony63/symfony63-messenger.php'); + $rectorConfig->import(__DIR__ . '/symfony63/symfony63-console.php'); }; diff --git a/config/sets/symfony/symfony6/symfony63/symfony63-console.php b/config/sets/symfony/symfony6/symfony63/symfony63-console.php new file mode 100644 index 00000000..28834c50 --- /dev/null +++ b/config/sets/symfony/symfony6/symfony63/symfony63-console.php @@ -0,0 +1,13 @@ +rules([ + // @see https://github.com/symfony/symfony/commit/1650e3861b5fcd931e5d3eb1dd84bad764020d8e + SignalableCommandInterfaceReturnTypeRector::class, + ]); +}; diff --git a/config/sets/symfony/symfony6/symfony63/symfony63-dependency-injection.php b/config/sets/symfony/symfony6/symfony63/symfony63-dependency-injection.php new file mode 100644 index 00000000..8909aaf2 --- /dev/null +++ b/config/sets/symfony/symfony6/symfony63/symfony63-dependency-injection.php @@ -0,0 +1,22 @@ +rules([ + // @see https://symfony.com/blog/new-in-symfony-6-3-dependency-injection-improvements#new-options-for-autowire-attribute + ParamAndEnvAttributeRector::class, + ]); + + $rectorConfig->ruleWithConfiguration( + RenameClassRector::class, + [ + // @see https://github.com/symfony/symfony/commit/b653adf426aedc66d16c5fc1cf71e261f20b9638 + 'Symfony\Component\DependencyInjection\Attribute\MapDecorated' => 'Symfony\Component\DependencyInjection\Attribute\AutowireDecorated', + ], + ); +}; diff --git a/config/sets/symfony/symfony6/symfony63/symfony63-http-client.php b/config/sets/symfony/symfony6/symfony63/symfony63-http-client.php new file mode 100644 index 00000000..ca22adea --- /dev/null +++ b/config/sets/symfony/symfony6/symfony63/symfony63-http-client.php @@ -0,0 +1,16 @@ +ruleWithConfiguration( + RenameClassRector::class, + [ + // @see https://github.com/symfony/symfony/commit/20ab567385e3812ef661dae01a1fdc5d1bde2666 + 'Http\Client\HttpClient' => 'Psr\Http\Client\ClientInterface', + ], + ); +}; diff --git a/config/sets/symfony/symfony6/symfony63/symfony63-messenger.php b/config/sets/symfony/symfony6/symfony63/symfony63-messenger.php new file mode 100644 index 00000000..8486ed97 --- /dev/null +++ b/config/sets/symfony/symfony6/symfony63/symfony63-messenger.php @@ -0,0 +1,19 @@ +ruleWithConfiguration( + RenameClassRector::class, + [ + // @see https://github.com/symfony/symfony/commit/9415b438b75204c72ff66b838307b73646393cbf + 'Symfony\Component\Messenger\EventListener\StopWorkerOnSigtermSignalListener' => 'Symfony\Component\Messenger\EventListener\StopWorkerOnSignalsListener', + // @see https://github.com/symfony/symfony/commit/a7926b2d83f35fe53c41a28d8055490cc1955928 + 'Symfony\Component\Messenger\Transport\InMemoryTransport' => 'Symfony\Component\Messenger\Transport\InMemory\InMemoryTransport', + 'Symfony\Component\Messenger\Transport\InMemoryTransportFactory' => 'Symfony\Component\Messenger\Transport\InMemory\InMemoryTransportFactory', + ], + ); +}; diff --git a/src/Set/SetProvider/Symfony6SetProvider.php b/src/Set/SetProvider/Symfony6SetProvider.php index 1450e869..294d5e72 100644 --- a/src/Set/SetProvider/Symfony6SetProvider.php +++ b/src/Set/SetProvider/Symfony6SetProvider.php @@ -176,10 +176,35 @@ public function provide(): array new ComposerTriggeredSet( SetGroup::SYMFONY, - 'symfony/*', + 'symfony/symfony', '6.3', __DIR__ . '/../../../config/sets/symfony/symfony6/symfony63.php' ), + new ComposerTriggeredSet( + SetGroup::SYMFONY, + 'symfony/dependency-injection', + '6.3', + __DIR__ . '/../../../config/sets/symfony/symfony6/symfony63/symfony63-dependency-injection.php' + ), + new ComposerTriggeredSet( + SetGroup::SYMFONY, + 'symfony/http-client', + '6.3', + __DIR__ . '/../../../config/sets/symfony/symfony6/symfony63/symfony63-http-client.php' + ), + new ComposerTriggeredSet( + SetGroup::SYMFONY, + 'symfony/messenger', + '6.3', + __DIR__ . '/../../../config/sets/symfony/symfony6/symfony63/symfony63-messenger.php' + ), + new ComposerTriggeredSet( + SetGroup::SYMFONY, + 'symfony/console', + '6.3', + __DIR__ . '/../../../config/sets/symfony/symfony6/symfony63/symfony63-console.php' + ), + new ComposerTriggeredSet( SetGroup::SYMFONY, 'symfony/*',