From a579c1e30c003a1901752ff63aa89fab2e2f3570 Mon Sep 17 00:00:00 2001 From: Dominik Chrastecky Date: Tue, 28 Nov 2023 12:50:35 +0100 Subject: [PATCH] Fix: Always provide bootstrap provider --- src/DependencyInjection/Compiler/BootstrapResolver.php | 9 +++++++++ src/Resources/config/services.yaml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/DependencyInjection/Compiler/BootstrapResolver.php b/src/DependencyInjection/Compiler/BootstrapResolver.php index f23ab53..bf9beed 100644 --- a/src/DependencyInjection/Compiler/BootstrapResolver.php +++ b/src/DependencyInjection/Compiler/BootstrapResolver.php @@ -6,6 +6,7 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; +use Unleash\Client\Bootstrap\EmptyBootstrapProvider; use Unleash\Client\Bootstrap\FileBootstrapProvider; /** @@ -37,6 +38,8 @@ private function registerTaggedService(ContainerBuilder $container): void { $serviceIds = array_keys($container->findTaggedServiceIds(self::TAG)); if (!count($serviceIds)) { + $this->registerEmptyService($container); + return; } @@ -61,4 +64,10 @@ private function registerServiceService(string $serviceId, ContainerBuilder $con { $container->setAlias(self::INTERNAL_SERVICE_NAME, $serviceId); } + + private function registerEmptyService(ContainerBuilder $container): void + { + $definition = new Definition(EmptyBootstrapProvider::class); + $container->setDefinition(self::INTERNAL_SERVICE_NAME, $definition); + } } diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index 48e7914..8747c58 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -94,7 +94,7 @@ services: $headers: '%unleash.client.internal.custom_headers%' $autoRegistrationEnabled: '%unleash.client.internal.auto_registration%' $contextProvider: '@unleash.client.internal.context_provider' - $bootstrapProvider: '@?unleash.client.internal.bootstrap_service' + $bootstrapProvider: '@unleash.client.internal.bootstrap_service' $fetchingEnabled: '%unleash.client.internal.fetching_enabled%' $eventDispatcher: '@event_dispatcher' $staleTtl: '%unleash.client.internal.stale_ttl%'