diff --git a/src/contracts/Factory/IbexaRectorConfigFactory.php b/src/contracts/Factory/IbexaRectorConfigFactory.php index 0e601d7..c0cecd2 100644 --- a/src/contracts/Factory/IbexaRectorConfigFactory.php +++ b/src/contracts/Factory/IbexaRectorConfigFactory.php @@ -62,6 +62,7 @@ public function createConfig(): RectorConfigBuilder $this->extraSets ) ) + ->withAttributesSets(symfony: true, doctrine: true) ; } } diff --git a/src/contracts/Factory/IbexaRectorConfigFactoryInterface.php b/src/contracts/Factory/IbexaRectorConfigFactoryInterface.php index d09dad6..77b0386 100644 --- a/src/contracts/Factory/IbexaRectorConfigFactoryInterface.php +++ b/src/contracts/Factory/IbexaRectorConfigFactoryInterface.php @@ -15,5 +15,8 @@ */ interface IbexaRectorConfigFactoryInterface { + /** + * @throws \Rector\Exception\Configuration\InvalidConfigurationException + */ public function createConfig(): RectorConfigBuilder; } diff --git a/src/contracts/Sets/ibexa-50.php b/src/contracts/Sets/ibexa-50.php index f1aaff4..05e21ff 100644 --- a/src/contracts/Sets/ibexa-50.php +++ b/src/contracts/Sets/ibexa-50.php @@ -8,6 +8,7 @@ namespace Ibexa\Contracts\Rector\Sets; +use Ibexa\Rector\Configuration\AnnotationToAttributeConfigurationBuilder; use Ibexa\Rector\Rule\AddReturnTypeFromParentMethodRule; use Ibexa\Rector\Rule\AddReturnTypeFromPhpDocRule; use Ibexa\Rector\Rule\ChangeArgumentTypeRector; @@ -17,6 +18,7 @@ use Ibexa\Rector\Rule\PropertyToGetterRector; use Ibexa\Rector\Rule\RemoveArgumentFromMethodCallRector; use Rector\Config\RectorConfig; +use Rector\Php80\Rector\Class_\AnnotationToAttributeRector; use Rector\Renaming\Rector\ClassConstFetch\RenameClassConstFetchRector; use Rector\Renaming\Rector\MethodCall\RenameMethodRector; use Rector\Renaming\Rector\Name\RenameClassRector; @@ -306,6 +308,10 @@ ), ] ); + $rectorConfig->ruleWithConfiguration( + AnnotationToAttributeRector::class, + iterator_to_array((new AnnotationToAttributeConfigurationBuilder())->build()) + ); $rectorConfig->skip( [ diff --git a/src/lib/Configuration/AnnotationToAttributeConfigurationBuilder.php b/src/lib/Configuration/AnnotationToAttributeConfigurationBuilder.php new file mode 100644 index 0000000..5b53e25 --- /dev/null +++ b/src/lib/Configuration/AnnotationToAttributeConfigurationBuilder.php @@ -0,0 +1,24 @@ + + */ + public function build(): iterable + { + foreach (IbexaSymfonyConstraintList::cases() as $constraintFQCN) { + yield new AnnotationToAttribute($constraintFQCN->value); + } + } +} diff --git a/src/lib/Configuration/IbexaSymfonyConstraintList.php b/src/lib/Configuration/IbexaSymfonyConstraintList.php new file mode 100644 index 0000000..15f5fa7 --- /dev/null +++ b/src/lib/Configuration/IbexaSymfonyConstraintList.php @@ -0,0 +1,52 @@ +uniquePaymentIdentifier; + } +} + +?> +----- +uniquePaymentIdentifier; + } +} + +?>