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/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; 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-php8.json b/tests/composer/composer-symfony6-max.json similarity index 68% rename from tests/composer/composer-php8.json rename to tests/composer/composer-symfony6-max.json index 44e049bc46..19ce7c8e5e 100644 --- a/tests/composer/composer-php8.json +++ b/tests/composer/composer-symfony6-max.json @@ -2,8 +2,6 @@ "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", @@ -18,20 +16,24 @@ } ], "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", + "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", "psr/log": "^1.0" }, "require-dev": { + "ext-pdo": "*", + "ext-json": "*", "monolog/monolog": "^1.3", - "phpunit/phpunit": "9.4.2", + "phpstan/phpstan": "^0.12.4", + "phpunit/phpunit": "^9.5.0", + "spryker/code-sniffer": "^0.15.6", + "psalm/phar": "^4.1.0", "mikey179/vfsstream": "^1.6" }, "suggest": { diff --git a/tests/composer/composer-symfony6-min.json b/tests/composer/composer-symfony6-min.json new file mode 100644 index 0000000000..eb49e161c0 --- /dev/null +++ b/tests/composer/composer-symfony6-min.json @@ -0,0 +1,60 @@ +{ + "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", + "psr/log": "^1.0" + }, + "require-dev": { + "ext-pdo": "*", + "ext-json": "*", + "monolog/monolog": "^1.3", + "phpstan/phpstan": "^0.12.4", + "phpunit/phpunit": "^9.5.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" + } + } +}