From 8e3f2db293aaade556c893e5a628ca4b5813f1a0 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 16 Jun 2025 11:58:15 +0200 Subject: [PATCH 1/2] Try olvlvl/composer-attribute-collector --- composer.json | 3 +- composer.lock | 128 +++++++++--------- .../AutowiredAttributeServicesExtension.php | 2 +- 3 files changed, 65 insertions(+), 68 deletions(-) diff --git a/composer.json b/composer.json index 4cf3716d54..3548dba9d1 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "nikic/php-parser": "^5.4.0", "ondram/ci-detector": "^3.4.0", "ondrejmirtes/better-reflection": "6.57.0.0", - "ondrejmirtes/composer-attribute-collector": "^1.1.1", + "olvlvl/composer-attribute-collector": "dev-method-params", "ondrejmirtes/php-merge": "^4.1", "phpstan/php-8-stubs": "0.4.14", "phpstan/phpdoc-parser": "2.1.0", @@ -74,6 +74,7 @@ "sort-packages": true, "allow-plugins": { "cweagans/composer-patches": true, + "olvlvl/composer-attribute-collector": true, "ondrejmirtes/composer-attribute-collector": true, "vaimo/composer-patches": true } diff --git a/composer.lock b/composer.lock index dd32145480..9e4768ab09 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7f6ba1b2ce4616f94964a53045d5d940", + "content-hash": "4dacf7bd46583f757645a7532f703486", "packages": [ { "name": "clue/ndjson-react", @@ -2113,6 +2113,65 @@ }, "time": "2025-05-31T08:24:38+00:00" }, + { + "name": "olvlvl/composer-attribute-collector", + "version": "dev-method-params", + "source": { + "type": "git", + "url": "https://github.com/olvlvl/composer-attribute-collector.git", + "reference": "a587ecdfba8695905be8dfec51debc07a200e391" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/olvlvl/composer-attribute-collector/zipball/a587ecdfba8695905be8dfec51debc07a200e391", + "reference": "a587ecdfba8695905be8dfec51debc07a200e391", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "php": ">=8.0" + }, + "require-dev": { + "composer/composer": ">=2.4", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^9.5" + }, + "type": "composer-plugin", + "extra": { + "class": "olvlvl\\ComposerAttributeCollector\\Plugin", + "composer-attribute-collector": { + "exclude": [ + "tests/Acme/PSR4/IncompatibleSignature.php" + ], + "include": [ + "tests" + ] + } + }, + "autoload": { + "psr-4": { + "olvlvl\\ComposerAttributeCollector\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Olivier Laviale", + "email": "olivier.laviale@gmail.com", + "homepage": "https://olvlvl.com/", + "role": "Developer" + } + ], + "description": "A convenient and near zero-cost way to retrieve targets of PHP 8 attributes", + "support": { + "issues": "https://github.com/olvlvl/composer-attribute-collector/issues", + "source": "https://github.com/olvlvl/composer-attribute-collector/tree/method-params" + }, + "time": "2025-06-17T08:49:51+00:00" + }, { "name": "ondram/ci-detector", "version": "3.5.1", @@ -2256,70 +2315,6 @@ }, "time": "2025-02-12T21:16:38+00:00" }, - { - "name": "ondrejmirtes/composer-attribute-collector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/ondrejmirtes/composer-attribute-collector.git", - "reference": "48124ab07a5e19b7bd0ad20c791a8ff0bf3feab9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ondrejmirtes/composer-attribute-collector/zipball/48124ab07a5e19b7bd0ad20c791a8ff0bf3feab9", - "reference": "48124ab07a5e19b7bd0ad20c791a8ff0bf3feab9", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "nikic/php-parser": "^5.4", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "composer/composer": ">=2.4", - "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^9.5" - }, - "type": "composer-plugin", - "extra": { - "class": "olvlvl\\ComposerAttributeCollector\\Plugin", - "composer-attribute-collector": { - "exclude": [ - "tests/Acme/PSR4/IncompatibleSignature.php" - ], - "include": [ - "tests" - ] - } - }, - "autoload": { - "psr-4": { - "olvlvl\\ComposerAttributeCollector\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Olivier Laviale", - "email": "olivier.laviale@gmail.com", - "homepage": "https://olvlvl.com/", - "role": "Developer" - }, - { - "name": "Ondrej Mirtes", - "email": "ondrej@mirtes.cz", - "role": "Developer" - } - ], - "description": "A convenient and near zero-cost way to retrieve targets of PHP 8 attributes", - "support": { - "source": "https://github.com/ondrejmirtes/composer-attribute-collector/tree/1.1.1" - }, - "time": "2025-06-05T19:41:17+00:00" - }, { "name": "ondrejmirtes/php-merge", "version": "4.1.1", @@ -6408,7 +6403,8 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { - "jetbrains/phpstorm-stubs": 20 + "jetbrains/phpstorm-stubs": 20, + "olvlvl/composer-attribute-collector": 20 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/src/DependencyInjection/AutowiredAttributeServicesExtension.php b/src/DependencyInjection/AutowiredAttributeServicesExtension.php index c8dd87fa6c..0a3065d43f 100644 --- a/src/DependencyInjection/AutowiredAttributeServicesExtension.php +++ b/src/DependencyInjection/AutowiredAttributeServicesExtension.php @@ -38,7 +38,7 @@ public function loadConfiguration(): void require_once __DIR__ . '/../../vendor/attributes.php'; $builder = $this->getContainerBuilder(); - $autowiredParameters = Attributes::findTargetMethodParameters(AutowiredParameter::class); + $autowiredParameters = Attributes::findTargetParameters(AutowiredParameter::class); foreach (Attributes::findTargetClasses(AutowiredService::class) as $class) { $reflection = new ReflectionClass($class->name); From 55f8765038cd8b1bf8524f76c8647fe569df051f Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Tue, 17 Jun 2025 11:05:56 +0200 Subject: [PATCH 2/2] fix build --- .../AutowiredAttributeServicesExtension.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DependencyInjection/AutowiredAttributeServicesExtension.php b/src/DependencyInjection/AutowiredAttributeServicesExtension.php index 0a3065d43f..6dd9c6c795 100644 --- a/src/DependencyInjection/AutowiredAttributeServicesExtension.php +++ b/src/DependencyInjection/AutowiredAttributeServicesExtension.php @@ -12,6 +12,7 @@ use Nette\Utils\Strings; use olvlvl\ComposerAttributeCollector\Attributes; use olvlvl\ComposerAttributeCollector\TargetMethodParameter; +use olvlvl\ComposerAttributeCollector\TargetParameter; use Override; use PHPStan\Collectors\RegistryFactory; use PHPStan\Rules\LazyRegistry; @@ -125,7 +126,7 @@ public function loadConfiguration(): void /** * @param class-string $className - * @param TargetMethodParameter[] $autowiredParameters + * @param TargetParameter[] $autowiredParameters */ private function processParameters(string $className, ServiceDefinition $definition, array $autowiredParameters): void {