From dac06a2e62b87f05c93a95d10b1ac97176be79be Mon Sep 17 00:00:00 2001 From: Sviatoslav Vysitskyi <126722023+Ozu-bezariusu@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:48:19 +0200 Subject: [PATCH 1/2] fix: fix unconditional YamlDriver registration crashing apps without symfony/yaml --- config/services.php | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/config/services.php b/config/services.php index 25f99a7..aa1c976 100644 --- a/config/services.php +++ b/config/services.php @@ -73,18 +73,20 @@ ]) ; - $services->set('jbtronics.settings.metadata_driver.yaml', YamlDriver::class) - ->args([ - '$yamlMappingPaths' => '%jbtronics.settings.yaml_mapping_paths%', - ]); + $drivers = [service('jbtronics.settings.metadata_driver.attribute')]; - $services->set('jbtronics.settings.metadata_driver', ChainDriver::class) - ->args([ - '$drivers' => [ - service('jbtronics.settings.metadata_driver.attribute'), - service('jbtronics.settings.metadata_driver.yaml'), - ], - ]); + if (class_exists(\Symfony\Component\Yaml\Yaml::class)) { + $services->set('jbtronics.settings.metadata_driver.yaml', YamlDriver::class) + ->args([ + '$yamlMappingPaths' => '%jbtronics.settings.yaml_mapping_paths%', + ]); + $drivers[] = service('jbtronics.settings.metadata_driver.yaml'); + } + + $services->set('jbtronics.settings.metadata_driver', ChainDriver::class) + ->args([ + '$drivers' => $drivers, + ]); $services->alias(MetadataDriverInterface::class, 'jbtronics.settings.metadata_driver'); $services->set('jbtronics.settings.settings_registry', SettingsRegistry::class) From 96dc89aec87b556aa984beb0331579aef0d44b10 Mon Sep 17 00:00:00 2001 From: Sviatoslav Vysitskyi <126722023+Ozu-bezariusu@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:48:36 +0200 Subject: [PATCH 2/2] fix: fix TagSettingsPass error message referencing wrong interface --- src/DependencyInjection/TagSettingsPass.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DependencyInjection/TagSettingsPass.php b/src/DependencyInjection/TagSettingsPass.php index be82c3e..ad0b5fc 100644 --- a/src/DependencyInjection/TagSettingsPass.php +++ b/src/DependencyInjection/TagSettingsPass.php @@ -34,7 +34,7 @@ public function process(ContainerBuilder $container): void throw new LogicException('Metadata compiler provider class "' . $providerClass . '" does not exist. Please check your configuration.'); } if (!is_a($providerClass, CompileTimeMetadataDriverInterface::class, true)) { - throw new LogicException('Metadata compiler provider class "' . $providerClass . '" must implement ' . MetadataDriverInterface::class . '. Please check your configuration.'); + throw new LogicException('Metadata compiler provider class "' . $providerClass . '" must implement ' . CompileTimeMetadataDriverInterface::class . '. Please check your configuration.'); }