diff --git a/.gitattributes b/.gitattributes index 834cdcf..ae77c43 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ Tests export-ignore .gitlab-ci.yml export-ignore +shell.nix export-ignore .gitattributes export-ignore .gitignore export-ignore diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9a8f46c..3528f2a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,6 +20,7 @@ jobs: - 7.4 - 8.0 - 8.1 + - 8.2 steps: - name: Checkout uses: actions/checkout@v3 @@ -71,7 +72,7 @@ jobs: - name: Install PHP uses: shivammathur/setup-php@v2 with: - php-version: "8.1" + php-version: "8.2" tools: composer:v2 - name: Install dependencies @@ -99,6 +100,8 @@ jobs: typo3-version: '^11.5' - php-version: '8.1' typo3-version: '^11.5' + - php-version: '8.2' + typo3-version: '^11.5' steps: - uses: actions/checkout@v3 @@ -134,6 +137,8 @@ jobs: typo3-version: '^11.5' - php-version: '8.1' typo3-version: '^11.5' + - php-version: '8.2' + typo3-version: '^11.5' steps: - uses: actions/checkout@v3 diff --git a/Documentation/Changelog/3.3.0.rst b/Documentation/Changelog/3.3.0.rst new file mode 100644 index 0000000..5d12a71 --- /dev/null +++ b/Documentation/Changelog/3.3.0.rst @@ -0,0 +1,27 @@ +3.3.0 +===== + +Breaking +-------- + +Nothing + +Features +-------- + +* Add PHP 8.2 support. + +Fixes +----- + +Nothing + +Tasks +----- + +Nothing + +Deprecation +----------- + +Nothing diff --git a/composer.json b/composer.json index c217aeb..07ae1ae 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ } ], "require": { - "php": "~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0", + "php": "~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0", "typo3/cms-core": "^10.4 || ^11.5", "typo3/cms-extbase": "^10.4 || ^11.5", "typo3/cms-fluid": "^10.4 || ^11.5", diff --git a/ext_emconf.php b/ext_emconf.php index 497a880..98c873b 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -9,7 +9,7 @@ $EM_CONF['events'] = [ 'state' => 'alpha', 'createDirs' => '', 'clearCacheOnLoad' => 0, - 'version' => '3.2.2', + 'version' => '3.3.0', 'constraints' => [ 'depends' => [ 'typo3' => '10.4.00-11.5.99', diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..799dc22 --- /dev/null +++ b/shell.nix @@ -0,0 +1,71 @@ +{ pkgs ? import { } }: + +let + php = pkgs.php82; + inherit(pkgs.php82Packages) composer; + + projectInstall = pkgs.writeShellApplication { + name = "project-install"; + runtimeInputs = [ + php + composer + ]; + text = '' + rm -rf vendor/ composer.lock .Build/ + composer install --prefer-dist --no-progress --working-dir="$PROJECT_ROOT" + ''; + }; + projectValidateComposer = pkgs.writeShellApplication { + name = "project-validate-composer"; + runtimeInputs = [ + php + composer + ]; + text = '' + composer validate + ''; + }; + projectValidateXml = pkgs.writeShellApplication { + name = "project-validate-xml"; + runtimeInputs = [ + pkgs.libxml2 + pkgs.wget + projectInstall + ]; + text = '' + project-install + xmllint --schema vendor/phpunit/phpunit/phpunit.xsd --noout phpunit.xml.dist + wget --no-check-certificate https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd --output-document=xliff-core-1.2-strict.xsd + # shellcheck disable=SC2046 + xmllint --schema xliff-core-1.2-strict.xsd --noout $(find Resources -name '*.xlf') + ''; + }; + projectCodingGuideline = pkgs.writeShellApplication { + name = "project-coding-guideline"; + runtimeInputs = [ + php + projectInstall + ]; + text = '' + project-install + ./vendor/bin/ecs check --no-progress-bar --clear-cache + ''; + }; + +in pkgs.mkShell { + name = "TYPO3 Extension Watchlist"; + buildInputs = [ + projectInstall + projectValidateComposer + projectValidateXml + projectCodingGuideline + php + composer + ]; + + shellHook = '' + export PROJECT_ROOT="$(pwd)" + + export typo3DatabaseDriver=pdo_sqlite + ''; +}