From 737e9dc768f42f104cb40c1d10df7e52d1ce3465 Mon Sep 17 00:00:00 2001 From: Larry Garfield <larry@garfieldtech.com> Date: Fri, 25 Mar 2022 14:00:59 -0500 Subject: [PATCH] [TASK] Update dependency to PSR-3 v2/3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PSR-3 v2 and v3 add types, so we can switch to those now. Because we don't fully implement PSR-3 directly, this is a trivial change. Most of the updates are in tests and nominally optional. Note that composer/composer is still only v2 compatible, not v3, so this will still only pull in v2. However, it sets us up to automatically and safely get v3 as soon as composer/composer is updated. AbstractLogger is also now vestigial (it does nothing but use LoggerTrait), so I've removed usage of it in favor of the trait. That eliminates one autoload lookup. Used commands: > composer req psr/log:"^2.0 || ^3.0" > composer req psr/log:"^2.0 || ^3.0" \ -d typo3/sysext/core --no-update > composer req psr/log:"^2.0 || ^3.0" \ -d typo3/sysext/redirects --no-update Resolves: #97242 Releases: main Change-Id: I9089a5af216eb72c67614ab34ae126d08890a0eb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74063 Tested-by: core-ci <typo3@b13.com> Tested-by: Stefan Bürk <stefan@buerk.tech> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Benni Mack <benni@typo3.org> --- composer.json | 2 +- composer.lock | 20 +++++++++---------- .../Authentication/PasswordResetTest.php | 2 +- typo3/sysext/core/Classes/Log/Logger.php | 7 +++++-- .../Unit/Error/DebugExceptionHandlerTest.php | 2 +- .../Tests/Unit/Error/ErrorHandlerTest.php | 2 +- .../Error/ProductionExceptionHandlerTest.php | 2 +- typo3/sysext/core/composer.json | 2 +- typo3/sysext/redirects/composer.json | 2 +- 9 files changed, 22 insertions(+), 19 deletions(-) diff --git a/composer.json b/composer.json index 4cedf76c69b6..b44f929b0606 100644 --- a/composer.json +++ b/composer.json @@ -70,7 +70,7 @@ "psr/http-message": "^1.0", "psr/http-server-handler": "^1.0", "psr/http-server-middleware": "^1.0", - "psr/log": "^1.0", + "psr/log": "^2.0 || ^3.0", "symfony/config": "^5.4", "symfony/console": "^5.4", "symfony/dependency-injection": "^5.4", diff --git a/composer.lock b/composer.lock index 8031c334e55e..eca2c7b309a1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "13a541e750caeed2cb8f04fadd78875a", + "content-hash": "532408f6bb1d88c78244591a1c7f5aa7", "packages": [ { "name": "bacon/bacon-qr-code", @@ -1817,30 +1817,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1861,9 +1861,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/2.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:41:46+00:00" }, { "name": "ralouphie/getallheaders", diff --git a/typo3/sysext/backend/Tests/Functional/Authentication/PasswordResetTest.php b/typo3/sysext/backend/Tests/Functional/Authentication/PasswordResetTest.php index 4d9241827fa1..a64a7b7af137 100644 --- a/typo3/sysext/backend/Tests/Functional/Authentication/PasswordResetTest.php +++ b/typo3/sysext/backend/Tests/Functional/Authentication/PasswordResetTest.php @@ -40,7 +40,7 @@ class PasswordResetTest extends FunctionalTestCase $this->logger = new class() implements LoggerInterface { use LoggerTrait; public array $records = []; - public function log($level, $message, array $context = []): void + public function log($level, string|\Stringable $message, array $context = []): void { $this->records[] = [ 'level' => $level, diff --git a/typo3/sysext/core/Classes/Log/Logger.php b/typo3/sysext/core/Classes/Log/Logger.php index c68e08945428..7c58338f33b2 100644 --- a/typo3/sysext/core/Classes/Log/Logger.php +++ b/typo3/sysext/core/Classes/Log/Logger.php @@ -15,7 +15,8 @@ namespace TYPO3\CMS\Core\Log; -use Psr\Log\AbstractLogger; +use Psr\Log\LoggerInterface; +use Psr\Log\LoggerTrait; use TYPO3\CMS\Core\Log\Processor\ProcessorInterface; use TYPO3\CMS\Core\Log\Writer\WriterInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -23,8 +24,10 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Logger to log events and data for different components. */ -class Logger extends AbstractLogger +class Logger implements LoggerInterface { + use LoggerTrait; + /** * Logger name or component for which this logger is meant to be used for. * diff --git a/typo3/sysext/core/Tests/Unit/Error/DebugExceptionHandlerTest.php b/typo3/sysext/core/Tests/Unit/Error/DebugExceptionHandlerTest.php index 79ce2356d3fe..42b059ad5610 100644 --- a/typo3/sysext/core/Tests/Unit/Error/DebugExceptionHandlerTest.php +++ b/typo3/sysext/core/Tests/Unit/Error/DebugExceptionHandlerTest.php @@ -108,7 +108,7 @@ class DebugExceptionHandlerTest extends UnitTestCase $logger = new class() implements LoggerInterface { use LoggerTrait; public array $records = []; - public function log($level, $message, array $context = []): void + public function log($level, string|\Stringable $message, array $context = []): void { $this->records[] = [ 'level' => $level, diff --git a/typo3/sysext/core/Tests/Unit/Error/ErrorHandlerTest.php b/typo3/sysext/core/Tests/Unit/Error/ErrorHandlerTest.php index e19baa5f4707..9b9bc096f684 100644 --- a/typo3/sysext/core/Tests/Unit/Error/ErrorHandlerTest.php +++ b/typo3/sysext/core/Tests/Unit/Error/ErrorHandlerTest.php @@ -53,7 +53,7 @@ class ErrorHandlerTest extends UnitTestCase $this->trackingLogger = new class() implements LoggerInterface { use LoggerTrait; public array $records = []; - public function log($level, $message, array $context = []): void + public function log($level, string|\Stringable $message, array $context = []): void { $this->records[] = [ 'level' => $level, diff --git a/typo3/sysext/core/Tests/Unit/Error/ProductionExceptionHandlerTest.php b/typo3/sysext/core/Tests/Unit/Error/ProductionExceptionHandlerTest.php index c9c08f4d2d1d..b9b2b89c436c 100644 --- a/typo3/sysext/core/Tests/Unit/Error/ProductionExceptionHandlerTest.php +++ b/typo3/sysext/core/Tests/Unit/Error/ProductionExceptionHandlerTest.php @@ -143,7 +143,7 @@ class ProductionExceptionHandlerTest extends UnitTestCase $logger = new class() implements LoggerInterface { use LoggerTrait; public array $records = []; - public function log($level, $message, array $context = []): void + public function log($level, string|\Stringable $message, array $context = []): void { $this->records[] = [ 'level' => $level, diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json index 4319d4f65cb8..2330d636ffaf 100644 --- a/typo3/sysext/core/composer.json +++ b/typo3/sysext/core/composer.json @@ -50,7 +50,7 @@ "psr/http-message": "^1.0", "psr/http-server-handler": "^1.0", "psr/http-server-middleware": "^1.0", - "psr/log": "^1.0", + "psr/log": "^2.0 || ^3.0", "symfony/config": "^5.4", "symfony/console": "^5.4", "symfony/dependency-injection": "^5.4", diff --git a/typo3/sysext/redirects/composer.json b/typo3/sysext/redirects/composer.json index ddf2784d0cb4..12970df45dd0 100644 --- a/typo3/sysext/redirects/composer.json +++ b/typo3/sysext/redirects/composer.json @@ -21,7 +21,7 @@ "require": { "doctrine/dbal": "^3.3.2", "psr/http-message": "^1.0", - "psr/log": "^1.0", + "psr/log": "^2.0 || ^3.0", "symfony/console": "^5.4", "typo3/cms-backend": "12.0.*@dev", "typo3/cms-core": "12.0.*@dev", -- GitLab