From c47e687c265fb3e7b6a7443819b9c448594c059b Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Mon, 5 Feb 2024 10:01:44 +0100 Subject: [PATCH] Update everything for TYPO3 v12 + v13 --- .github/workflows/ci.yaml | 42 +++++++++------------ Documentation/Changelog/3.0.0.rst | 30 +++++++++++++++ Tests/Functional/AbstractFunctionalTest.php | 41 ++++++++++++++++++++ composer.json | 29 ++++++-------- ext_emconf.php | 21 ----------- phpunit.xml.dist | 27 ++++++------- shell.nix | 4 +- 7 files changed, 114 insertions(+), 80 deletions(-) create mode 100644 Documentation/Changelog/3.0.0.rst create mode 100644 Tests/Functional/AbstractFunctionalTest.php delete mode 100644 ext_emconf.php diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 16e8911..50811f2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,7 +15,7 @@ jobs: - name: Install PHP uses: shivammathur/setup-php@v2 with: - php-version: 7.4 + php-version: 8.3 coverage: none tools: composer:v2 env: @@ -29,10 +29,9 @@ jobs: strategy: matrix: php-version: - - 7.4 - - 8.0 - 8.1 - 8.2 + - 8.3 steps: - name: Checkout uses: actions/checkout@v3 @@ -56,7 +55,7 @@ jobs: - name: Install PHP uses: shivammathur/setup-php@v2 with: - php-version: "7.4" + php-version: "8.3" coverage: none tools: composer:v2 env: @@ -104,24 +103,21 @@ jobs: strategy: matrix: include: - - db-version: '8' - php-version: '7.4' - typo3-version: '^11.5' - - db-version: '8' - php-version: '8.0' - typo3-version: '^11.5' - - db-version: '8' - php-version: '8.1' - typo3-version: '^11.5' - - db-version: '8' - php-version: '8.2' - typo3-version: '^11.5' - db-version: '8' php-version: '8.1' typo3-version: '^12.4' - db-version: '8' php-version: '8.2' typo3-version: '^12.4' + - db-version: '8' + php-version: '8.3' + typo3-version: '^12.4' + - db-version: '8' + php-version: '8.2' + typo3-version: '13.0' + - db-version: '8' + php-version: '8.3' + typo3-version: '13.0' steps: - uses: actions/checkout@v3 @@ -164,18 +160,16 @@ jobs: strategy: matrix: include: - - php-version: '7.4' - typo3-version: '^11.5' - - php-version: '8.0' - typo3-version: '^11.5' - - php-version: '8.1' - typo3-version: '^11.5' - - php-version: '8.2' - typo3-version: '^11.5' - php-version: '8.1' typo3-version: '^12.4' - php-version: '8.2' typo3-version: '^12.4' + - php-version: '8.3' + typo3-version: '^12.4' + - php-version: '8.2' + typo3-version: '13.0' + - php-version: '8.3' + typo3-version: '13.0' steps: - uses: actions/checkout@v3 diff --git a/Documentation/Changelog/3.0.0.rst b/Documentation/Changelog/3.0.0.rst new file mode 100644 index 0000000..1c1c99f --- /dev/null +++ b/Documentation/Changelog/3.0.0.rst @@ -0,0 +1,30 @@ +3.0.0 +===== + +Breaking +-------- + +* Support TYPO3 v13.0, drop v11. + We only support last two TYPO3 versions. + +* Drop `ext_emconf.php` this probably will remove support for none composer setups. + +Features +-------- + +* Add Support for TYPO3 v13.0. + +Fixes +----- + +Nothing + +Tasks +----- + +Nothing + +Deprecation +----------- + +Nothing diff --git a/Tests/Functional/AbstractFunctionalTest.php b/Tests/Functional/AbstractFunctionalTest.php new file mode 100644 index 0000000..7677227 --- /dev/null +++ b/Tests/Functional/AbstractFunctionalTest.php @@ -0,0 +1,41 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace DanielSiepmann\Tests\Functional; + +use Codappix\Typo3PhpDatasets\TestingFramework; +use DanielSiepmann\AbstractFunctional; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; + +abstract class AbstractFunctionalTest extends FunctionalTestCase +{ + use TestingFramework; + + protected array $testExtensionsToLoad = [ + 'danielsiepmann/tracking', + ]; + + protected array $coreExtensionsToLoad = [ + 'typo3/cms-dashboard', + ]; +} diff --git a/composer.json b/composer.json index a8b2351..1805b19 100644 --- a/composer.json +++ b/composer.json @@ -26,17 +26,17 @@ } }, "require": { - "php": "~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "ext-mbstring": "*", - "doctrine/dbal": "^2.12 || ^3.3", + "doctrine/dbal": "^2.12 || ^3.3 || 4.0.0-RC2@rc", "psr/http-message": "^1.0", "psr/http-server-handler": "^1.0", "psr/http-server-middleware": "^1.0", - "symfony/console": "^5.2 || ^6.1", - "symfony/expression-language": "^5.2 || ^6.1", - "typo3/cms-backend": "^11.5 || ^12.4", - "typo3/cms-core": "^11.5 || ^12.4", - "typo3/cms-dashboard": "^11.5 || ^12.4" + "symfony/console": "^5.2 || ^6.1 || ^7.0", + "symfony/expression-language": "^5.2 || ^6.1 || ^7.0", + "typo3/cms-backend": "^12.4 || ^13.0", + "typo3/cms-core": "^12.4 || ^13.0", + "typo3/cms-dashboard": "^12.4 || ^13.0" }, "require-dev": { "codappix/typo3-php-datasets": "^1.3", @@ -45,9 +45,9 @@ "jangregor/phpstan-prophecy": "^1.0", "phpspec/prophecy-phpunit": "^2.0", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8.7", - "phpunit/phpunit": "^9.0", - "typo3/testing-framework": "^7.0" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1", + "typo3/testing-framework": "^8.0" }, "minimum-stability": "dev", "prefer-stable": true, @@ -62,12 +62,6 @@ "app-dir": ".Build", "extension-key": "tracking", "web-dir": ".Build/web" - }, - "composer-exit-on-patch-failure": true, - "patches": { - }, - "branch-alias": { - "dev-main": "1.0.x-dev" } }, "config": { @@ -77,8 +71,7 @@ "typo3/class-alias-loader": true, "typo3/cms-composer-installers": true, "cweagans/composer-patches": true, - "phpstan/extension-installer": true, - "sbuerk/typo3-cmscomposerinstallers-testingframework-bridge": true + "phpstan/extension-installer": true } } } diff --git a/ext_emconf.php b/ext_emconf.php deleted file mode 100644 index 63ed72b..0000000 --- a/ext_emconf.php +++ /dev/null @@ -1,21 +0,0 @@ - 'Tracking', - 'description' => 'Tracks page visits in TYPO3.', - 'category' => 'fe', - 'state' => 'stable', - 'author' => 'Daniel Siepmann', - 'author_email' => 'coding@daniel-siepmann.de', - 'author_company' => '', - 'version' => '2.5.0', - 'constraints' => [ - 'depends' => [ - 'core' => '', - ], - 'conflicts' => [], - 'suggests' => [ - 'dashboard' => '', - ], - ], -]; diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 858b92f..3bd9c52 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,22 +1,19 @@ - + cacheDirectory=".phpunit.cache" + backupStaticProperties="false" + requireCoverageMetadata="false" +> Tests/Unit/ @@ -25,14 +22,14 @@ Tests/Functional/ - - - - Classes - - - + + + + Classes + + + diff --git a/shell.nix b/shell.nix index 0bfc038..24c561e 100644 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,8 @@ { pkgs ? import { } }: let - php = pkgs.php82; - inherit(pkgs.php82Packages) composer; + php = pkgs.php83; + inherit(pkgs.php83Packages) composer; projectInstall = pkgs.writeShellApplication { name = "project-install";