From 0fcc0aaf3369e426d153fa40d596dc039bed6568 Mon Sep 17 00:00:00 2001 From: Daniel Subiabre Date: Tue, 23 Apr 2024 11:10:37 +0200 Subject: [PATCH] Add VersionedResourcePass to compiler resource names into lock file --- .../Compiler/VersionedResourcePass.php | 39 +++++++++++++++++++ src/Kernel.php | 6 +++ 2 files changed, 45 insertions(+) create mode 100644 src/DependencyInjection/Compiler/VersionedResourcePass.php diff --git a/src/DependencyInjection/Compiler/VersionedResourcePass.php b/src/DependencyInjection/Compiler/VersionedResourcePass.php new file mode 100644 index 0000000..84272ed --- /dev/null +++ b/src/DependencyInjection/Compiler/VersionedResourcePass.php @@ -0,0 +1,39 @@ +getAttributes(Gedmo\Loggable::class); + + if (empty($attributes)) { + continue; + } + + $versionedResourceNames = [ + ...$versionedResourceNames, + ApiResourceNormalizer::toResource($entityClass) + ]; + } + + /** @var VersionedResourceService */ + $versionedResourceService = $container->get(VersionedResourceService::class); + $versionedResourceService->compileNames($versionedResourceNames); + } +} diff --git a/src/Kernel.php b/src/Kernel.php index d8bf758..0388b2a 100644 --- a/src/Kernel.php +++ b/src/Kernel.php @@ -3,6 +3,7 @@ namespace App; use App\DependencyInjection\Compiler\GatewayPass; +use App\DependencyInjection\Compiler\VersionedResourcePass; use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; use Symfony\Component\DependencyInjection\Compiler\PassConfig; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -18,5 +19,10 @@ class Kernel extends BaseKernel new GatewayPass, PassConfig::TYPE_AFTER_REMOVING ); + + $container->addCompilerPass( + new VersionedResourcePass, + PassConfig::TYPE_AFTER_REMOVING + ); } }