From e16a5dd68f1cd822b87f331901aeb8e98f3de43c Mon Sep 17 00:00:00 2001 From: Fabien Bourigault Date: Thu, 23 Dec 2021 11:24:08 +0100 Subject: [PATCH 1/3] Allow Symfony 6 --- .github/workflows/ci.yml | 6 ++- composer.json | 14 +++--- tests/composer/composer-symfony6-max.json | 61 +++++++++++++++++++++++ tests/composer/composer-symfony6-min.json | 61 +++++++++++++++++++++++ 4 files changed, 134 insertions(+), 8 deletions(-) create mode 100644 tests/composer/composer-symfony6-max.json create mode 100644 tests/composer/composer-symfony6-min.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2626e2809f..a4474ef51a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,12 +16,16 @@ jobs: matrix: php-version: [ '7.4', '8.0', '8.1' ] db-type: [ sqlite, mysql, pgsql, agnostic ] - symfony-version: [ '4-min', '4-max', '5-min', '5-max' ] + symfony-version: [ '4-min', '4-max', '5-min', '5-max', '6-min', '6-max' ] exclude: - symfony-version: '4-min' php-version: '8.0' - symfony-version: '4-min' php-version: '8.1' + - symfony-version: '6-min' + php-version: '7.4' + - symfony-version: '6-max' + php-version: '7.4' steps: - name: Install PostgreSQL latest if: matrix.db-type == 'pgsql' && matrix.php-version != '7.3' diff --git a/composer.json b/composer.json index 3388195b86..c09a25eaeb 100644 --- a/composer.json +++ b/composer.json @@ -18,13 +18,13 @@ "require": { "php": ">=7.4", "psr/log": "^1.0||^2.0||^3.0", - "symfony/yaml": "^3.4.0||^4.0.0||^5.0.0", - "symfony/config": "^3.4.0||^4.0.0||^5.0.0", - "symfony/console": "^3.4.0||^4.0.0||^5.0.0", - "symfony/filesystem": "^3.4.0||^4.0.0||^5.0.0", - "symfony/finder": "^3.4.0||^4.0.0||^5.0.0", - "symfony/translation": "^3.4.0||^4.0.0||^5.0.0", - "symfony/validator": "^3.4.0||^4.0.0||^5.0.0" + "symfony/yaml": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/config": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/console": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/filesystem": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/finder": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/translation": "^3.4.0||^4.0.0||^5.0.0||^6.0.0", + "symfony/validator": "^3.4.0||^4.0.0||^5.0.0||^6.0.0" }, "require-dev": { "ext-pdo": "*", diff --git a/tests/composer/composer-symfony6-max.json b/tests/composer/composer-symfony6-max.json new file mode 100644 index 0000000000..c69d894e59 --- /dev/null +++ b/tests/composer/composer-symfony6-max.json @@ -0,0 +1,61 @@ +{ + "name": "propel/propel", + "type": "library", + "description": "Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.5 and up.", + "keywords": [ + "ORM", + "persistence", + "Active Record" + ], + "homepage": "http://www.propelorm.org/", + "license": "MIT", + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "require": { + "php": ">=8.0", + "symfony/yaml": "^6.0.0", + "symfony/config": "^6.0.0", + "symfony/console": "^6.0.0", + "symfony/filesystem": "^6.0.0", + "symfony/finder": "^6.0.0", + "symfony/translation": "^6.0.0", + "symfony/validator": "^6.0.0", + "symfony/polyfill-php73": "^1.8", + "psr/log": "^1.0" + }, + "require-dev": { + "ext-pdo": "*", + "ext-json": "*", + "monolog/monolog": "^1.3", + "phpstan/phpstan": "^0.12.4", + "phpunit/phpunit": "^8.0.0||^9.0.0", + "spryker/code-sniffer": "^0.15.6", + "psalm/phar": "^4.1.0", + "mikey179/vfsstream": "^1.6" + }, + "suggest": { + "monolog/monolog": "The recommended logging library to use with Propel." + }, + "autoload": { + "psr-4": { + "Propel\\": "src/Propel/" + } + }, + "bin": [ + "bin/propel" + ], + "scripts": { + "stan": [ + "vendor/bin/phpstan analyze -l 1 -c tests/phpstan.neon src/" + ] + }, + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + } +} diff --git a/tests/composer/composer-symfony6-min.json b/tests/composer/composer-symfony6-min.json new file mode 100644 index 0000000000..044f8a70d9 --- /dev/null +++ b/tests/composer/composer-symfony6-min.json @@ -0,0 +1,61 @@ +{ + "name": "propel/propel", + "type": "library", + "description": "Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.5 and up.", + "keywords": [ + "ORM", + "persistence", + "Active Record" + ], + "homepage": "http://www.propelorm.org/", + "license": "MIT", + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "require": { + "php": ">=8.0", + "symfony/yaml": "~6.0.0", + "symfony/config": "~6.0.0", + "symfony/console": "~6.0.0", + "symfony/filesystem": "~6.0.0", + "symfony/finder": "~6.0.0", + "symfony/translation": "~6.0.0", + "symfony/validator": "~6.0.0", + "symfony/polyfill-php73": "^1.8", + "psr/log": "^1.0" + }, + "require-dev": { + "ext-pdo": "*", + "ext-json": "*", + "monolog/monolog": "^1.3", + "phpstan/phpstan": "^0.12.4", + "phpunit/phpunit": "^8.0.0||^9.0.0", + "spryker/code-sniffer": "^0.15.6", + "psalm/phar": "^4.1.0", + "mikey179/vfsstream": "^1.6" + }, + "suggest": { + "monolog/monolog": "The recommended logging library to use with Propel." + }, + "autoload": { + "psr-4": { + "Propel\\": "src/Propel/" + } + }, + "bin": [ + "bin/propel" + ], + "scripts": { + "stan": [ + "vendor/bin/phpstan analyze -l 1 -c tests/phpstan.neon src/" + ] + }, + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + } +} From d602d8e88a903bfdbd2abd3f53344556edf0a160 Mon Sep 17 00:00:00 2001 From: Fabien Bourigault Date: Mon, 3 Jan 2022 16:45:23 +0100 Subject: [PATCH 2/3] Fix ArrayInput return types --- src/Propel/Generator/Command/Console/Input/ArrayInput.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Propel/Generator/Command/Console/Input/ArrayInput.php b/src/Propel/Generator/Command/Console/Input/ArrayInput.php index 757fac0ba2..4c07e0d11e 100644 --- a/src/Propel/Generator/Command/Console/Input/ArrayInput.php +++ b/src/Propel/Generator/Command/Console/Input/ArrayInput.php @@ -52,7 +52,7 @@ public function __construct(array $parameters, ?InputDefinition $definition = nu /** * @inheritDoc */ - public function getFirstArgument() + public function getFirstArgument(): ?string { foreach ($this->parameters as $key => $value) { if ($key && $key[0] === '-') { @@ -68,7 +68,7 @@ public function getFirstArgument() /** * @inheritDoc */ - public function hasParameterOption($values, $onlyParams = false) + public function hasParameterOption($values, $onlyParams = false): bool { $values = (array)$values; From 555464f637f7dc536a64cf7693943636a9e10bc4 Mon Sep 17 00:00:00 2001 From: Fabien Bourigault Date: Tue, 4 Jan 2022 10:54:40 +0100 Subject: [PATCH 3/3] Cleanup tests composer.json files --- tests/composer/composer-php8.json | 58 ----------------------- tests/composer/composer-symfony3-max.json | 5 +- tests/composer/composer-symfony3-min.json | 5 +- tests/composer/composer-symfony4-max.json | 5 +- tests/composer/composer-symfony4-min.json | 5 +- tests/composer/composer-symfony5-max.json | 5 +- tests/composer/composer-symfony5-min.json | 5 +- tests/composer/composer-symfony6-max.json | 3 +- tests/composer/composer-symfony6-min.json | 3 +- 9 files changed, 14 insertions(+), 80 deletions(-) delete mode 100644 tests/composer/composer-php8.json diff --git a/tests/composer/composer-php8.json b/tests/composer/composer-php8.json deleted file mode 100644 index 44e049bc46..0000000000 --- a/tests/composer/composer-php8.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "propel/propel", - "type": "library", - "description": "Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.5 and up.", - "minimum-stability": "dev", - "prefer-stable": true, - "keywords": [ - "ORM", - "persistence", - "Active Record" - ], - "homepage": "http://www.propelorm.org/", - "license": "MIT", - "authors": [ - { - "name": "William Durand", - "email": "william.durand1@gmail.com" - } - ], - "require": { - "php": ">=7.2", - "symfony/yaml": "^5.0.0", - "symfony/config": "^5.0.0", - "symfony/console": "^5.0.0", - "symfony/filesystem": "^5.0.0", - "symfony/finder": "^5.0.0", - "symfony/translation": "^5.0.0", - "symfony/validator": "^5.0.0", - "symfony/polyfill-php73": "^1.8", - "psr/log": "^1.0" - }, - "require-dev": { - "monolog/monolog": "^1.3", - "phpunit/phpunit": "9.4.2", - "mikey179/vfsstream": "^1.6" - }, - "suggest": { - "monolog/monolog": "The recommended logging library to use with Propel." - }, - "autoload": { - "psr-4": { - "Propel\\": "src/Propel/" - } - }, - "bin": [ - "bin/propel" - ], - "scripts": { - "stan": [ - "vendor/bin/phpstan analyze -l 1 -c tests/phpstan.neon src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - } -} diff --git a/tests/composer/composer-symfony3-max.json b/tests/composer/composer-symfony3-max.json index 58c329c863..439ff2b60c 100644 --- a/tests/composer/composer-symfony3-max.json +++ b/tests/composer/composer-symfony3-max.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "^3.4.0", "symfony/config": "^3.4.0", "symfony/console": "^3.4.0", @@ -24,7 +24,6 @@ "symfony/finder": "^3.4.0", "symfony/translation": "^3.4.0", "symfony/validator": "^3.4.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony3-min.json b/tests/composer/composer-symfony3-min.json index e3dae5ec62..f0b8132bf9 100644 --- a/tests/composer/composer-symfony3-min.json +++ b/tests/composer/composer-symfony3-min.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "~3.4.0", "symfony/config": "~3.4.0", "symfony/console": "~3.4.0", @@ -24,7 +24,6 @@ "symfony/finder": "~3.4.0", "symfony/translation": "~3.4.0", "symfony/validator": "~3.4.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony4-max.json b/tests/composer/composer-symfony4-max.json index 70decfe11d..39c6c004f5 100644 --- a/tests/composer/composer-symfony4-max.json +++ b/tests/composer/composer-symfony4-max.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "^4.0.0", "symfony/config": "^4.0.0", "symfony/console": "^4.0.0", @@ -24,7 +24,6 @@ "symfony/finder": "^4.0.0", "symfony/translation": "^4.0.0", "symfony/validator": "^4.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony4-min.json b/tests/composer/composer-symfony4-min.json index fbed7537f6..79c36e43db 100644 --- a/tests/composer/composer-symfony4-min.json +++ b/tests/composer/composer-symfony4-min.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "~4.0.0", "symfony/config": "~4.0.0", "symfony/console": "~4.0.0", @@ -24,7 +24,6 @@ "symfony/finder": "~4.0.0", "symfony/translation": "~4.0.0", "symfony/validator": "~4.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony5-max.json b/tests/composer/composer-symfony5-max.json index 8a3caa8dac..2b7247e209 100644 --- a/tests/composer/composer-symfony5-max.json +++ b/tests/composer/composer-symfony5-max.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "^5.0.0", "symfony/config": "^5.0.0", "symfony/console": "^5.0.0", @@ -24,7 +24,6 @@ "symfony/finder": "^5.0.0", "symfony/translation": "^5.0.0", "symfony/validator": "^5.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony5-min.json b/tests/composer/composer-symfony5-min.json index 501c282682..a9f499d551 100644 --- a/tests/composer/composer-symfony5-min.json +++ b/tests/composer/composer-symfony5-min.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "symfony/yaml": "~5.0.0", "symfony/config": "~5.0.0", "symfony/console": "~5.0.0", @@ -24,7 +24,6 @@ "symfony/finder": "~5.0.0", "symfony/translation": "~5.0.0", "symfony/validator": "~5.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony6-max.json b/tests/composer/composer-symfony6-max.json index c69d894e59..19ce7c8e5e 100644 --- a/tests/composer/composer-symfony6-max.json +++ b/tests/composer/composer-symfony6-max.json @@ -24,7 +24,6 @@ "symfony/finder": "^6.0.0", "symfony/translation": "^6.0.0", "symfony/validator": "^6.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" diff --git a/tests/composer/composer-symfony6-min.json b/tests/composer/composer-symfony6-min.json index 044f8a70d9..eb49e161c0 100644 --- a/tests/composer/composer-symfony6-min.json +++ b/tests/composer/composer-symfony6-min.json @@ -24,7 +24,6 @@ "symfony/finder": "~6.0.0", "symfony/translation": "~6.0.0", "symfony/validator": "~6.0.0", - "symfony/polyfill-php73": "^1.8", "psr/log": "^1.0" }, "require-dev": { @@ -32,7 +31,7 @@ "ext-json": "*", "monolog/monolog": "^1.3", "phpstan/phpstan": "^0.12.4", - "phpunit/phpunit": "^8.0.0||^9.0.0", + "phpunit/phpunit": "^9.5.0", "spryker/code-sniffer": "^0.15.6", "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6"