Update everything for TYPO3 v12 + v13

This commit is contained in:
Daniel Siepmann 2024-02-05 10:01:44 +01:00
parent 5aa08b5e6c
commit c47e687c26
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
7 changed files with 114 additions and 80 deletions

View file

@ -15,7 +15,7 @@ jobs:
- name: Install PHP - name: Install PHP
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2
with: with:
php-version: 7.4 php-version: 8.3
coverage: none coverage: none
tools: composer:v2 tools: composer:v2
env: env:
@ -29,10 +29,9 @@ jobs:
strategy: strategy:
matrix: matrix:
php-version: php-version:
- 7.4
- 8.0
- 8.1 - 8.1
- 8.2 - 8.2
- 8.3
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -56,7 +55,7 @@ jobs:
- name: Install PHP - name: Install PHP
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2
with: with:
php-version: "7.4" php-version: "8.3"
coverage: none coverage: none
tools: composer:v2 tools: composer:v2
env: env:
@ -104,24 +103,21 @@ jobs:
strategy: strategy:
matrix: matrix:
include: 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' - db-version: '8'
php-version: '8.1' php-version: '8.1'
typo3-version: '^12.4' typo3-version: '^12.4'
- db-version: '8' - db-version: '8'
php-version: '8.2' php-version: '8.2'
typo3-version: '^12.4' 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: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -164,18 +160,16 @@ jobs:
strategy: strategy:
matrix: matrix:
include: 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' - php-version: '8.1'
typo3-version: '^12.4' typo3-version: '^12.4'
- php-version: '8.2' - php-version: '8.2'
typo3-version: '^12.4' 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: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View file

@ -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

View file

@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
/*
* Copyright (C) 2024 Daniel Siepmann <coding@daniel-siepmann.de>
*
* 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',
];
}

View file

@ -26,17 +26,17 @@
} }
}, },
"require": { "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": "*", "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-message": "^1.0",
"psr/http-server-handler": "^1.0", "psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0", "psr/http-server-middleware": "^1.0",
"symfony/console": "^5.2 || ^6.1", "symfony/console": "^5.2 || ^6.1 || ^7.0",
"symfony/expression-language": "^5.2 || ^6.1", "symfony/expression-language": "^5.2 || ^6.1 || ^7.0",
"typo3/cms-backend": "^11.5 || ^12.4", "typo3/cms-backend": "^12.4 || ^13.0",
"typo3/cms-core": "^11.5 || ^12.4", "typo3/cms-core": "^12.4 || ^13.0",
"typo3/cms-dashboard": "^11.5 || ^12.4" "typo3/cms-dashboard": "^12.4 || ^13.0"
}, },
"require-dev": { "require-dev": {
"codappix/typo3-php-datasets": "^1.3", "codappix/typo3-php-datasets": "^1.3",
@ -45,9 +45,9 @@
"jangregor/phpstan-prophecy": "^1.0", "jangregor/phpstan-prophecy": "^1.0",
"phpspec/prophecy-phpunit": "^2.0", "phpspec/prophecy-phpunit": "^2.0",
"phpstan/extension-installer": "^1.1", "phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8.7", "phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.0", "phpunit/phpunit": "^10.1",
"typo3/testing-framework": "^7.0" "typo3/testing-framework": "^8.0"
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,
@ -62,12 +62,6 @@
"app-dir": ".Build", "app-dir": ".Build",
"extension-key": "tracking", "extension-key": "tracking",
"web-dir": ".Build/web" "web-dir": ".Build/web"
},
"composer-exit-on-patch-failure": true,
"patches": {
},
"branch-alias": {
"dev-main": "1.0.x-dev"
} }
}, },
"config": { "config": {
@ -77,8 +71,7 @@
"typo3/class-alias-loader": true, "typo3/class-alias-loader": true,
"typo3/cms-composer-installers": true, "typo3/cms-composer-installers": true,
"cweagans/composer-patches": true, "cweagans/composer-patches": true,
"phpstan/extension-installer": true, "phpstan/extension-installer": true
"sbuerk/typo3-cmscomposerinstallers-testingframework-bridge": true
} }
} }
} }

View file

@ -1,21 +0,0 @@
<?php
$EM_CONF[$_EXTKEY] = [
'title' => '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' => '',
],
],
];

View file

@ -1,22 +1,19 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<phpunit <phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
backupGlobals="false" backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTestsBootstrap.php" bootstrap="vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTestsBootstrap.php"
colors="true" colors="true"
convertErrorsToExceptions="true"
convertWarningsToExceptions="true"
forceCoversAnnotation="false"
processIsolation="false" processIsolation="false"
stopOnError="false" stopOnError="false"
stopOnFailure="false" stopOnFailure="false"
stopOnIncomplete="false" stopOnIncomplete="false"
stopOnSkipped="false" stopOnSkipped="false"
verbose="false" cacheDirectory=".phpunit.cache"
> backupStaticProperties="false"
requireCoverageMetadata="false"
>
<testsuites> <testsuites>
<testsuite name="unit"> <testsuite name="unit">
<directory>Tests/Unit/</directory> <directory>Tests/Unit/</directory>
@ -25,14 +22,14 @@
<directory>Tests/Functional/</directory> <directory>Tests/Functional/</directory>
</testsuite> </testsuite>
</testsuites> </testsuites>
<coverage>
<include>
<directory suffix=".php">Classes</directory>
</include>
</coverage>
<php> <php>
<env name="typo3DatabaseDriver" value="pdo_sqlite"/> <env name="typo3DatabaseDriver" value="pdo_sqlite"/>
</php> </php>
<source>
<include>
<directory suffix=".php">
Classes
</directory>
</include>
</source>
</phpunit> </phpunit>

View file

@ -1,8 +1,8 @@
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
let let
php = pkgs.php82; php = pkgs.php83;
inherit(pkgs.php82Packages) composer; inherit(pkgs.php83Packages) composer;
projectInstall = pkgs.writeShellApplication { projectInstall = pkgs.writeShellApplication {
name = "project-install"; name = "project-install";