From 0c8317cde29e5d9100f5c6ecac540d8c46bd42dd Mon Sep 17 00:00:00 2001 From: Benjamin Franzke <ben@bnf.dev> Date: Tue, 19 Mar 2024 21:09:05 +0100 Subject: [PATCH] [BUGFIX] Inject logger into YamlFileLoader YamlFileLoader needs to be instantiated via `self::new` to ensure that a logger instance is injected. The issues was introduced with #103187 where YamlFileLoader was added to be provided by the EXT:install ServiceProvider. This is actually not quite right, as a service is always to be provided by the extension that ships the service, not by the consumer. Therefore the YamlFileLoader service definition is now moved into EXT:core. Resolves: #103444 Related: #103187 Releases: main Change-Id: Ifa3b690a43239c26903443789f59fcd2768fd9d5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83553 Tested-by: core-ci <typo3@b13.com> Tested-by: Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by: Andreas Kienast <a.fernandez@scripting-base.de> Tested-by: Oliver Bartsch <bo@cedev.de> Tested-by: Benjamin Franzke <ben@bnf.dev> Reviewed-by: Benjamin Franzke <ben@bnf.dev> Reviewed-by: Oliver Bartsch <bo@cedev.de> --- typo3/sysext/core/Classes/ServiceProvider.php | 6 ++++++ typo3/sysext/install/Classes/ServiceProvider.php | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/typo3/sysext/core/Classes/ServiceProvider.php b/typo3/sysext/core/Classes/ServiceProvider.php index dd9dc981eaf7..44cf4125dca3 100644 --- a/typo3/sysext/core/Classes/ServiceProvider.php +++ b/typo3/sysext/core/Classes/ServiceProvider.php @@ -58,6 +58,7 @@ class ServiceProvider extends AbstractServiceProvider Database\ConnectionPool::class => self::getConnectionPool(...), Database\DriverMiddlewareService::class => self::getDriverMiddlewaresService(...), Charset\CharsetConverter::class => self::getCharsetConverter(...), + Configuration\Loader\YamlFileLoader::class => self::getYamlFileLoader(...), Configuration\SiteConfiguration::class => self::getSiteConfiguration(...), Command\ListCommand::class => self::getListCommand(...), HelpCommand::class => self::getHelpCommand(...), @@ -178,6 +179,11 @@ class ServiceProvider extends AbstractServiceProvider return self::new($container, Charset\CharsetConverter::class); } + public static function getYamlFileLoader(ContainerInterface $container): Configuration\Loader\YamlFileLoader + { + return self::new($container, Configuration\Loader\YamlFileLoader::class); + } + public static function getSiteConfiguration(ContainerInterface $container): Configuration\SiteConfiguration { return self::new($container, Configuration\SiteConfiguration::class, [ diff --git a/typo3/sysext/install/Classes/ServiceProvider.php b/typo3/sysext/install/Classes/ServiceProvider.php index b9c09ad90807..13e7f2783f1a 100644 --- a/typo3/sysext/install/Classes/ServiceProvider.php +++ b/typo3/sysext/install/Classes/ServiceProvider.php @@ -109,7 +109,6 @@ class ServiceProvider extends AbstractServiceProvider Database\PermissionsCheck::class => self::getPermissionsCheck(...), Mailer::class => self::getMailer(...), Updates\DatabaseUpdatedPrerequisite::class => self::getDatabaseUpdatedPrerequisite(...), - YamlFileLoader::class => self::getYamlFileLoader(...), ]; } @@ -437,11 +436,6 @@ class ServiceProvider extends AbstractServiceProvider ]); } - public static function getYamlFileLoader(ContainerInterface $container): YamlFileLoader - { - return new YamlFileLoader(); - } - public static function configureCommands(ContainerInterface $container, CommandRegistry $commandRegistry): CommandRegistry { $commandRegistry->addLazyCommand( -- GitLab