From afdb026e5c3017a78762c2ed547c47b69d55574f Mon Sep 17 00:00:00 2001 From: Darius Matulionis Date: Fri, 7 Feb 2025 08:37:52 +0200 Subject: [PATCH] Use only swagger-php:5 --- .github/workflows/test-config.yml | 10 +--------- Dockerfile | 2 -- composer.json | 30 +++++++++++++++--------------- docker/php/php.ini | 3 --- src/Generator.php | 5 +++-- tests/GeneratorTest.php | 6 +++++- 6 files changed, 24 insertions(+), 32 deletions(-) diff --git a/.github/workflows/test-config.yml b/.github/workflows/test-config.yml index 70028c19..1e2cefe6 100644 --- a/.github/workflows/test-config.yml +++ b/.github/workflows/test-config.yml @@ -14,7 +14,7 @@ jobs: fail-fast: true matrix: php: [ '8.0', '8.1', '8.2', '8.3' ] - l5-swagger-flags: ['latest', 'swagger-php-3', 'swagger-ui-3'] + l5-swagger-flags: ['latest'] name: PHP ${{ matrix.php }} - ${{ matrix.l5-swagger-flags }} @@ -40,14 +40,6 @@ jobs: - name: Install dependencies run: composer update --no-interaction --no-progress --prefer-dist --prefer-stable - - name: Require Swagger PHP 3.* - run: composer require 'zircote/swagger-php:3.*' --no-interaction --no-update - if: matrix.l5-swagger-flags == 'swagger-php-3' - - - name: Require Swagger UI 3.* - run: composer require 'swagger-api/swagger-ui:3.*' --no-interaction --no-update - if: matrix.l5-swagger-flags == 'swagger-ui-3' - - name: Prepare enviroment run: | sudo chown -R $USER:$USER . diff --git a/Dockerfile b/Dockerfile index b9904355..5e97843f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,6 @@ RUN apt-get update && apt-get install -y \ # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* -# RUN pecl install memcached - RUN pecl install -f xdebug \ && docker-php-ext-enable xdebug diff --git a/composer.json b/composer.json index ae59add0..84d2f8da 100644 --- a/composer.json +++ b/composer.json @@ -18,21 +18,6 @@ "email": "darius@matulionis.lt" } ], - "require": { - "php": "^8.0", - "laravel/framework": "^11.0 || ^10.0 || ^9.0", - "zircote/swagger-php": "^3.2.0 || ^4.0.0", - "swagger-api/swagger-ui": "^3.0 || >=4.1.3", - "symfony/yaml": "^5.0 || ^6.0 || ^7.0", - "ext-json": "*", - "doctrine/annotations": "^1.0 || ^2.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.0 || ^10.0 || ^9.5", - "mockery/mockery": "1.*", - "orchestra/testbench": "^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", - "php-coveralls/php-coveralls": "^2.0" - }, "autoload": { "psr-4": { "L5Swagger\\": "src" @@ -46,6 +31,21 @@ "Tests\\": "tests" } }, + "require": { + "php": "^8.0", + "laravel/framework": "^11.0 || ^10.0 || ^9.0", + "zircote/swagger-php": "^5.0.0", + "swagger-api/swagger-ui": ">=5.18.3", + "symfony/yaml": "^5.0 || ^6.0 || ^7.0", + "ext-json": "*", + "doctrine/annotations": "^1.0 || ^2.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0 || ^10.0 || ^9.5", + "mockery/mockery": "1.*", + "orchestra/testbench": "^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", + "php-coveralls/php-coveralls": "^2.0" + }, "extra": { "laravel": { "providers": [ diff --git a/docker/php/php.ini b/docker/php/php.ini index 98f6ba75..83e4dca1 100644 --- a/docker/php/php.ini +++ b/docker/php/php.ini @@ -1921,9 +1921,6 @@ xdebug.remote_handler = dbgp xdebug.discover_client_host = 0 xdebug.show_error_trace = 1 -[memcached] -extension=memcached.so - ; Local Variables: ; tab-width: 4 ; End: diff --git a/src/Generator.php b/src/Generator.php index 8282fed1..5efe633f 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -9,6 +9,7 @@ use OpenApi\Annotations\OpenApi; use OpenApi\Annotations\Server; use OpenApi\Generator as OpenApiGenerator; +use OpenApi\Pipeline; use OpenApi\Util; use Symfony\Component\Finder\Finder; use Symfony\Component\Yaml\Dumper as YamlDumper; @@ -235,7 +236,7 @@ protected function setProcessors(OpenApiGenerator $generator): void $processorClasses = Arr::get($this->scanOptions, self::SCAN_OPTION_PROCESSORS, []); $processors = []; - foreach ($generator->getProcessors() as $processor) { + foreach ($generator->getProcessorPipeline() as $processor) { $processors[] = $processor; if ($processor instanceof \OpenApi\Processors\BuildPaths) { foreach ($processorClasses as $customProcessor) { @@ -245,7 +246,7 @@ protected function setProcessors(OpenApiGenerator $generator): void } if (! empty($processors)) { - $generator->setProcessors($processors); + $generator->setProcessorPipeline(new Pipeline($processors)); } } diff --git a/tests/GeneratorTest.php b/tests/GeneratorTest.php index b7066d5a..da3263c3 100644 --- a/tests/GeneratorTest.php +++ b/tests/GeneratorTest.php @@ -7,7 +7,11 @@ use L5Swagger\Generator; use L5Swagger\GeneratorFactory; use L5Swagger\L5SwaggerServiceProvider; +use OpenApi\Analysers\AttributeAnnotationFactory; +use OpenApi\Analysers\DocBlockAnnotationFactory; +use OpenApi\Analysers\ReflectionAnalyser; use OpenApi\Analysers\TokenAnalyser; +use OpenApi\Analysers\TokenScanner; use OpenApi\Processors\CleanUnmerged; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\TestDox; @@ -191,7 +195,7 @@ public function testCanGenerateWithScanOptions(): void $cfg['scanOptions']['exclude'] = [__DIR__.'/storage/annotations/OpenApi/Clients']; $cfg['scanOptions']['pattern'] = 'L5SwaggerAnnotationsExample*.*'; - $cfg['scanOptions']['analyser'] = new TokenAnalyser; + $cfg['scanOptions']['analyser'] = new ReflectionAnalyser([new AttributeAnnotationFactory(), new DocBlockAnnotationFactory()]); $cfg['scanOptions']['open_api_spec_version'] = '3.1.0'; $cfg['scanOptions']['processors'] = [new CleanUnmerged]; $cfg['scanOptions']['default_processors_configuration'] = ['operationId' => ['hash' => false]];