diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de55bc3e..6ad4d270 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,10 +18,10 @@ jobs: name: Build and test strategy: matrix: - php: [7.3, 7.4, 8.0] + php: [7.4, 8.0] deps: [high] include: - - php: 7.3 + - php: 7.4 deps: low steps: @@ -42,13 +42,13 @@ jobs: run: make update-min test-min - uses: actions/upload-artifact@v1 - if: matrix.php == '7.3' && matrix.deps == 'high' + if: matrix.php == '7.4' && matrix.deps == 'high' with: name: toolbox.phar path: build/toolbox.phar - uses: actions/upload-artifact@v1 - if: matrix.php == '7.3' && matrix.deps == 'high' + if: matrix.php == '7.4' && matrix.deps == 'high' with: name: devkit.phar path: build/devkit.phar @@ -59,7 +59,7 @@ jobs: needs: tests strategy: matrix: - php: [7.3, 7.4, 8.0] + php: [7.4, 8.0] steps: - uses: actions/checkout@v2 diff --git a/Makefile b/Makefile index 5bef1c3e..f6668957 100644 --- a/Makefile +++ b/Makefile @@ -67,7 +67,7 @@ package: tools/box sed -e 's/Application('"'"'dev/Application('"'"'$(TOOLBOX_VERSION)/g' bin/toolbox.php > build/phar/bin/toolbox.php cd build/phar && \ - composer config platform.php 7.3 && \ + composer config platform.php 7.4.7 && \ composer update --no-dev -o -a tools/box compile @@ -83,7 +83,7 @@ package-devkit: tools/box sed -e 's/\(Application(.*\)'"'"'dev/\1'"'"'$(TOOLBOX_VERSION)/g' bin/devkit.php > build/devkit-phar/bin/devkit.php cd build/devkit-phar && \ - composer config platform.php 7.3 && \ + composer config platform.php 7.4.7 && \ composer update --no-dev -o -a tools/box compile -c box-devkit.json.dist @@ -137,8 +137,8 @@ tools/php-cs-fixer: curl -Ls https://cs.symfony.com/download/php-cs-fixer-v3.phar -o tools/php-cs-fixer && chmod +x tools/php-cs-fixer tools/deptrac: - curl -Ls https://github.com/qossmic/deptrac/releases/download/0.14.0/deptrac.phar -o tools/deptrac && chmod +x tools/deptrac - curl -Ls https://github.com/qossmic/deptrac/releases/download/0.14.0/deptrac.phar.asc -o tools/deptrac.asc + curl -Ls https://github.com/qossmic/deptrac/releases/download/0.18.0/deptrac.phar -o tools/deptrac && chmod +x tools/deptrac + curl -Ls https://github.com/qossmic/deptrac/releases/download/0.18.0/deptrac.phar.asc -o tools/deptrac.asc tools/box: curl -Ls https://github.com/humbug/box/releases/download/3.13.0/box.phar -o tools/box && chmod +x tools/box diff --git a/README.md b/README.md index db2c66b8..0dcbff7d 100644 --- a/README.md +++ b/README.md @@ -14,86 +14,85 @@ It has been extracted as a separate project to make maintenance easier and enabl ## Available tools -| Name | Description | PHP 7.3 | PHP 7.4 | PHP 8.0 -| :--- | :---------- | :------ | :------ | :------ -| analyze | [Visualizes metrics and source code](https://github.com/Qafoo/QualityAnalyzer) | ✅ | ✅ | ❌ | -| behat | [Helps to test business expectations](http://behat.org/) | ✅ | ✅ | ✅ | -| box | [Fast, zero config application bundler with PHARs](https://github.com/humbug/box) | ✅ | ✅ | ✅ | -| box-legacy | [Legacy version of box](https://box-project.github.io/box2/) | ✅ | ✅ | ✅ | -| churn | [Discovers good candidates for refactoring](https://github.com/bmitch/churn-php) | ✅ | ✅ | ✅ | -| codeception | [Codeception is a BDD-styled PHP testing framework](https://codeception.com/) | ✅ | ✅ | ✅ | -| composer | [Dependency Manager for PHP](https://getcomposer.org/) | ✅ | ✅ | ✅ | -| composer-bin-plugin | [Composer plugin to install bin vendors in isolated locations](https://github.com/bamarni/composer-bin-plugin) | ✅ | ✅ | ✅ | -| composer-normalize | [Composer plugin to normalize composer.json files](https://github.com/ergebnis/composer-normalize) | ✅ | ✅ | ✅ | -| composer-require-checker | [Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker) | ❌ | ✅ | ✅ | -| composer-require-checker-v2 | [Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker) | ✅ | ❌ | ❌ | -| composer-unused | [Show unused packages by scanning your code](https://github.com/icanhazstring/composer-unused) | ✅ | ✅ | ✅ | -| dephpend | [Detect flaws in your architecture](https://dephpend.com/) | ✅ | ✅ | ✅ | -| deprecation-detector | [Finds usages of deprecated code](https://github.com/sensiolabs-de/deprecation-detector) | ✅ | ✅ | ✅ | -| deptrac | [Enforces dependency rules between software layers](https://github.com/qossmic/deptrac) | ❌ | ✅ | ✅ | -| diffFilter | [Applies QA tools to run on a single pull request](https://github.com/exussum12/coverageChecker) | ✅ | ✅ | ✅ | -| ecs | [Sets up and runs coding standard checks](https://github.com/Symplify/EasyCodingStandard) | ✅ | ✅ | ✅ | -| infection | [AST based PHP Mutation Testing Framework](https://infection.github.io/) | ❌ | ✅ | ✅ | -| larastan | [PHPStan extension for Laravel](https://github.com/nunomaduro/larastan) | ✅ | ✅ | ✅ | -| local-php-security-checker | [Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | ✅ | -| parallel-lint | [Checks PHP file syntax](https://github.com/php-parallel-lint/PHP-Parallel-Lint) | ✅ | ✅ | ✅ | -| paratest | [Parallel testing for PHPUnit](https://github.com/paratestphp/paratest) | ✅ | ✅ | ✅ | -| pdepend | [Static Analysis Tool](https://pdepend.org/) | ✅ | ✅ | ✅ | -| phan | [Static Analysis Tool](https://github.com/phan/phan) | ✅ | ✅ | ✅ | -| phive | [PHAR Installation and Verification Environment](https://phar.io/) | ✅ | ✅ | ✅ | -| php-coupling-detector | [Detects code coupling issues](https://akeneo.github.io/php-coupling-detector/) | ✅ | ✅ | ✅ | -| php-cs-fixer | [PHP Coding Standards Fixer](http://cs.symfony.com/) | ✅ | ✅ | ✅ | -| php-formatter | [Custom coding standards fixer](https://github.com/mmoreram/php-formatter) | ✅ | ✅ | ❌ | -| php-fuzzer | [A fuzzer for PHP, which can be used to find bugs in libraries by feeding them 'random' inputs](https://github.com/nikic/PHP-Fuzzer) | ❌ | ✅ | ✅ | -| php-semver-checker | [Suggests a next version according to semantic versioning](https://github.com/tomzx/php-semver-checker) | ✅ | ✅ | ✅ | -| phpa | [Checks for weak assumptions](https://github.com/rskuipers/php-assumptions) | ✅ | ✅ | ✅ | -| phpat | [Easy to use architecture testing tool](https://github.com/carlosas/phpat) | ✅ | ✅ | ❌ | -| phpbench | [PHP Benchmarking framework](https://github.com/phpbench/phpbench) | ✅ | ✅ | ✅ | -| phpca | [Finds usage of non-built-in extensions](https://github.com/wapmorgan/PhpCodeAnalyzer) | ✅ | ✅ | ✅ | -| phpcb | [PHP Code Browser](https://github.com/mayflower/PHP_CodeBrowser) | ✅ | ✅ | ✅ | -| phpcbf | [Automatically corrects coding standard violations](https://github.com/squizlabs/PHP_CodeSniffer) | ✅ | ✅ | ✅ | -| phpcodesniffer-composer-install | [Easy installation of PHP_CodeSniffer coding standards (rulesets).](https://github.com/Dealerdirect/phpcodesniffer-composer-installer) | ✅ | ✅ | ✅ | -| phpcov | [a command-line frontend for the PHP_CodeCoverage library](https://github.com/sebastianbergmann/phpcov) | ✅ | ✅ | ✅ | -| phpcpd | [Copy/Paste Detector](https://github.com/sebastianbergmann/phpcpd) | ✅ | ✅ | ✅ | -| phpcs | [Detects coding standard violations](https://github.com/squizlabs/PHP_CodeSniffer) | ✅ | ✅ | ✅ | -| phpcs-security-audit | [Finds vulnerabilities and weaknesses related to security in PHP code](https://github.com/FloeDesignTechnologies/phpcs-security-audit) | ✅ | ✅ | ✅ | -| phpda | [Generates dependency graphs](https://mamuz.github.io/PhpDependencyAnalysis/) | ✅ | ✅ | ✅ | -| phpdd | [Finds usage of deprecated features](http://wapmorgan.github.io/PhpDeprecationDetector) | ✅ | ✅ | ✅ | -| phpdoc-to-typehint | [Automatically adds type hints and return types based on PHPDocs](https://github.com/dunglas/phpdoc-to-typehint) | ✅ | ✅ | ✅ | -| phpDocumentor | [Documentation generator](https://www.phpdoc.org/) | ✅ | ✅ | ✅ | -| phpinsights | [Analyses code quality, style, architecture and complexity](https://phpinsights.com/) | ✅ | ✅ | ✅ | -| phplint | [Lints php files in parallel](https://github.com/overtrue/phplint) | ❌ | ✅ | ✅ | -| phploc | [A tool for quickly measuring the size of a PHP project](https://github.com/sebastianbergmann/phploc) | ✅ | ✅ | ✅ | -| phpmd | [A tool for finding problems in PHP code](https://phpmd.org/) | ✅ | ✅ | ✅ | -| phpmetrics | [Static Analysis Tool](http://www.phpmetrics.org/) | ✅ | ✅ | ✅ | -| phpmnd | [Helps to detect magic numbers](https://github.com/povils/phpmnd) | ✅ | ✅ | ✅ | -| phpspec | [SpecBDD Framework](http://www.phpspec.net/) | ✅ | ✅ | ✅ | -| phpstan | [Static Analysis Tool](https://github.com/phpstan/phpstan) | ✅ | ✅ | ✅ | -| phpstan-beberlei-assert | [PHPStan extension for beberlei/assert](https://github.com/phpstan/phpstan-beberlei-assert) | ✅ | ✅ | ✅ | -| phpstan-deprecation-rules | [PHPStan rules for detecting deprecated code](https://github.com/phpstan/phpstan-deprecation-rules) | ✅ | ✅ | ✅ | -| phpstan-doctrine | [Doctrine extensions for PHPStan](https://github.com/phpstan/phpstan-doctrine) | ✅ | ✅ | ✅ | -| phpstan-ergebnis-rules | [Additional rules for PHPstan](https://github.com/ergebnis/phpstan-rules) | ✅ | ✅ | ✅ | -| phpstan-exception-rules | [PHPStan rules for checked and unchecked exceptions](https://github.com/pepakriz/phpstan-exception-rules) | ✅ | ✅ | ✅ | -| phpstan-larastan | [Separate installation of phpstan for larastan](https://github.com/phpstan/phpstan) | ✅ | ✅ | ✅ | -| phpstan-phpunit | [PHPUnit extensions and rules for PHPStan](https://github.com/phpstan/phpstan-phpunit) | ✅ | ✅ | ✅ | -| phpstan-strict-rules | [Extra strict and opinionated rules for PHPStan](https://github.com/phpstan/phpstan-strict-rules) | ✅ | ✅ | ✅ | -| phpstan-symfony | [Symfony extension for PHPStan](https://github.com/phpstan/phpstan-symfony) | ✅ | ✅ | ✅ | -| phpstan-webmozart-assert | [PHPStan extension for webmozart/assert](https://github.com/phpstan/phpstan-webmozart-assert) | ✅ | ✅ | ✅ | -| phpunit | [The PHP testing framework](https://phpunit.de/) | ✅ | ✅ | ✅ | -| phpunit-5 | [The PHP testing framework (5.x version)](https://phpunit.de/) | ✅ | ✅ | ❌ | -| phpunit-7 | [The PHP testing framework (7.x version)](https://phpunit.de/) | ✅ | ✅ | ❌ | -| phpunit-8 | [The PHP testing framework (8.x version)](https://phpunit.de/) | ✅ | ✅ | ✅ | -| psalm | [Finds errors in PHP applications](https://psalm.dev/) | ✅ | ✅ | ✅ | -| psalm-plugin-doctrine | [Stubs to let Psalm understand Doctrine better](https://github.com/weirdan/doctrine-psalm-plugin) | ✅ | ✅ | ✅ | -| psalm-plugin-phpunit | [Psalm plugin for PHPUnit](https://github.com/psalm/psalm-plugin-phpunit) | ✅ | ✅ | ✅ | -| psalm-plugin-symfony | [Psalm Plugin for Symfony](https://github.com/psalm/psalm-plugin-symfony) | ✅ | ✅ | ✅ | -| psecio-parse | [Scans code for potential security-related issues](https://github.com/psecio/parse) | ✅ | ✅ | ✅ | -| rector | [Tool for instant code upgrades and refactoring](https://github.com/rectorphp/rector) | ✅ | ✅ | ✅ | -| roave-backward-compatibility-check | [Tool to compare two revisions of a class API to check for BC breaks](https://github.com/Roave/BackwardCompatibilityCheck) | ❌ | ✅ | ❌ | -| simple-phpunit | [Provides utilities to report legacy tests and usage of deprecated code](https://symfony.com/doc/current/components/phpunit_bridge.html) | ✅ | ✅ | ✅ | -| twig-lint | [Standalone twig linter](https://github.com/asm89/twig-lint) | ✅ | ✅ | ✅ | -| twigcs | [The missing checkstyle for twig!](https://github.com/friendsoftwig/twigcs) | ✅ | ✅ | ✅ | -| yaml-lint | [Compact command line utility for checking YAML file syntax](https://github.com/j13k/yaml-lint) | ✅ | ✅ | ✅ | +| Name | Description | PHP 7.4 | PHP 8.0 +| :--- | :---------- | :------ | :------ +| analyze | [Visualizes metrics and source code](https://github.com/Qafoo/QualityAnalyzer) | ✅ | ❌ | +| behat | [Helps to test business expectations](http://behat.org/) | ✅ | ✅ | +| box | [Fast, zero config application bundler with PHARs](https://github.com/humbug/box) | ✅ | ✅ | +| box-legacy | [Legacy version of box](https://box-project.github.io/box2/) | ✅ | ✅ | +| churn | [Discovers good candidates for refactoring](https://github.com/bmitch/churn-php) | ✅ | ✅ | +| codeception | [Codeception is a BDD-styled PHP testing framework](https://codeception.com/) | ✅ | ✅ | +| composer | [Dependency Manager for PHP](https://getcomposer.org/) | ✅ | ✅ | +| composer-bin-plugin | [Composer plugin to install bin vendors in isolated locations](https://github.com/bamarni/composer-bin-plugin) | ✅ | ✅ | +| composer-normalize | [Composer plugin to normalize composer.json files](https://github.com/ergebnis/composer-normalize) | ✅ | ✅ | +| composer-require-checker | [Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker) | ✅ | ✅ | +| composer-unused | [Show unused packages by scanning your code](https://github.com/icanhazstring/composer-unused) | ✅ | ✅ | +| dephpend | [Detect flaws in your architecture](https://dephpend.com/) | ✅ | ✅ | +| deprecation-detector | [Finds usages of deprecated code](https://github.com/sensiolabs-de/deprecation-detector) | ✅ | ✅ | +| deptrac | [Enforces dependency rules between software layers](https://github.com/qossmic/deptrac) | ✅ | ✅ | +| diffFilter | [Applies QA tools to run on a single pull request](https://github.com/exussum12/coverageChecker) | ✅ | ✅ | +| ecs | [Sets up and runs coding standard checks](https://github.com/Symplify/EasyCodingStandard) | ✅ | ✅ | +| infection | [AST based PHP Mutation Testing Framework](https://infection.github.io/) | ✅ | ✅ | +| larastan | [PHPStan extension for Laravel](https://github.com/nunomaduro/larastan) | ✅ | ✅ | +| local-php-security-checker | [Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | +| parallel-lint | [Checks PHP file syntax](https://github.com/php-parallel-lint/PHP-Parallel-Lint) | ✅ | ✅ | +| paratest | [Parallel testing for PHPUnit](https://github.com/paratestphp/paratest) | ✅ | ✅ | +| pdepend | [Static Analysis Tool](https://pdepend.org/) | ✅ | ✅ | +| phan | [Static Analysis Tool](https://github.com/phan/phan) | ✅ | ✅ | +| phive | [PHAR Installation and Verification Environment](https://phar.io/) | ✅ | ✅ | +| php-coupling-detector | [Detects code coupling issues](https://akeneo.github.io/php-coupling-detector/) | ✅ | ✅ | +| php-cs-fixer | [PHP Coding Standards Fixer](http://cs.symfony.com/) | ✅ | ✅ | +| php-formatter | [Custom coding standards fixer](https://github.com/mmoreram/php-formatter) | ✅ | ❌ | +| php-fuzzer | [A fuzzer for PHP, which can be used to find bugs in libraries by feeding them 'random' inputs](https://github.com/nikic/PHP-Fuzzer) | ✅ | ✅ | +| php-semver-checker | [Suggests a next version according to semantic versioning](https://github.com/tomzx/php-semver-checker) | ✅ | ✅ | +| phpa | [Checks for weak assumptions](https://github.com/rskuipers/php-assumptions) | ✅ | ✅ | +| phpat | [Easy to use architecture testing tool](https://github.com/carlosas/phpat) | ✅ | ❌ | +| phpbench | [PHP Benchmarking framework](https://github.com/phpbench/phpbench) | ✅ | ✅ | +| phpca | [Finds usage of non-built-in extensions](https://github.com/wapmorgan/PhpCodeAnalyzer) | ✅ | ✅ | +| phpcb | [PHP Code Browser](https://github.com/mayflower/PHP_CodeBrowser) | ✅ | ✅ | +| phpcbf | [Automatically corrects coding standard violations](https://github.com/squizlabs/PHP_CodeSniffer) | ✅ | ✅ | +| phpcodesniffer-composer-install | [Easy installation of PHP_CodeSniffer coding standards (rulesets).](https://github.com/Dealerdirect/phpcodesniffer-composer-installer) | ✅ | ✅ | +| phpcov | [a command-line frontend for the PHP_CodeCoverage library](https://github.com/sebastianbergmann/phpcov) | ✅ | ✅ | +| phpcpd | [Copy/Paste Detector](https://github.com/sebastianbergmann/phpcpd) | ✅ | ✅ | +| phpcs | [Detects coding standard violations](https://github.com/squizlabs/PHP_CodeSniffer) | ✅ | ✅ | +| phpcs-security-audit | [Finds vulnerabilities and weaknesses related to security in PHP code](https://github.com/FloeDesignTechnologies/phpcs-security-audit) | ✅ | ✅ | +| phpda | [Generates dependency graphs](https://mamuz.github.io/PhpDependencyAnalysis/) | ✅ | ✅ | +| phpdd | [Finds usage of deprecated features](http://wapmorgan.github.io/PhpDeprecationDetector) | ✅ | ✅ | +| phpdoc-to-typehint | [Automatically adds type hints and return types based on PHPDocs](https://github.com/dunglas/phpdoc-to-typehint) | ✅ | ✅ | +| phpDocumentor | [Documentation generator](https://www.phpdoc.org/) | ✅ | ✅ | +| phpinsights | [Analyses code quality, style, architecture and complexity](https://phpinsights.com/) | ✅ | ✅ | +| phplint | [Lints php files in parallel](https://github.com/overtrue/phplint) | ✅ | ✅ | +| phploc | [A tool for quickly measuring the size of a PHP project](https://github.com/sebastianbergmann/phploc) | ✅ | ✅ | +| phpmd | [A tool for finding problems in PHP code](https://phpmd.org/) | ✅ | ✅ | +| phpmetrics | [Static Analysis Tool](http://www.phpmetrics.org/) | ✅ | ✅ | +| phpmnd | [Helps to detect magic numbers](https://github.com/povils/phpmnd) | ✅ | ✅ | +| phpspec | [SpecBDD Framework](http://www.phpspec.net/) | ✅ | ✅ | +| phpstan | [Static Analysis Tool](https://github.com/phpstan/phpstan) | ✅ | ✅ | +| phpstan-beberlei-assert | [PHPStan extension for beberlei/assert](https://github.com/phpstan/phpstan-beberlei-assert) | ✅ | ✅ | +| phpstan-deprecation-rules | [PHPStan rules for detecting deprecated code](https://github.com/phpstan/phpstan-deprecation-rules) | ✅ | ✅ | +| phpstan-doctrine | [Doctrine extensions for PHPStan](https://github.com/phpstan/phpstan-doctrine) | ✅ | ✅ | +| phpstan-ergebnis-rules | [Additional rules for PHPstan](https://github.com/ergebnis/phpstan-rules) | ✅ | ✅ | +| phpstan-exception-rules | [PHPStan rules for checked and unchecked exceptions](https://github.com/pepakriz/phpstan-exception-rules) | ✅ | ✅ | +| phpstan-larastan | [Separate installation of phpstan for larastan](https://github.com/phpstan/phpstan) | ✅ | ✅ | +| phpstan-phpunit | [PHPUnit extensions and rules for PHPStan](https://github.com/phpstan/phpstan-phpunit) | ✅ | ✅ | +| phpstan-strict-rules | [Extra strict and opinionated rules for PHPStan](https://github.com/phpstan/phpstan-strict-rules) | ✅ | ✅ | +| phpstan-symfony | [Symfony extension for PHPStan](https://github.com/phpstan/phpstan-symfony) | ✅ | ✅ | +| phpstan-webmozart-assert | [PHPStan extension for webmozart/assert](https://github.com/phpstan/phpstan-webmozart-assert) | ✅ | ✅ | +| phpunit | [The PHP testing framework](https://phpunit.de/) | ✅ | ✅ | +| phpunit-5 | [The PHP testing framework (5.x version)](https://phpunit.de/) | ✅ | ❌ | +| phpunit-7 | [The PHP testing framework (7.x version)](https://phpunit.de/) | ✅ | ❌ | +| phpunit-8 | [The PHP testing framework (8.x version)](https://phpunit.de/) | ✅ | ✅ | +| psalm | [Finds errors in PHP applications](https://psalm.dev/) | ✅ | ✅ | +| psalm-plugin-doctrine | [Stubs to let Psalm understand Doctrine better](https://github.com/weirdan/doctrine-psalm-plugin) | ✅ | ✅ | +| psalm-plugin-phpunit | [Psalm plugin for PHPUnit](https://github.com/psalm/psalm-plugin-phpunit) | ✅ | ✅ | +| psalm-plugin-symfony | [Psalm Plugin for Symfony](https://github.com/psalm/psalm-plugin-symfony) | ✅ | ✅ | +| psecio-parse | [Scans code for potential security-related issues](https://github.com/psecio/parse) | ✅ | ✅ | +| rector | [Tool for instant code upgrades and refactoring](https://github.com/rectorphp/rector) | ✅ | ✅ | +| roave-backward-compatibility-check | [Tool to compare two revisions of a class API to check for BC breaks](https://github.com/Roave/BackwardCompatibilityCheck) | ✅ | ❌ | +| simple-phpunit | [Provides utilities to report legacy tests and usage of deprecated code](https://symfony.com/doc/current/components/phpunit_bridge.html) | ✅ | ✅ | +| twig-lint | [Standalone twig linter](https://github.com/asm89/twig-lint) | ✅ | ✅ | +| twigcs | [The missing checkstyle for twig!](https://github.com/friendsoftwig/twigcs) | ✅ | ✅ | +| yaml-lint | [Compact command line utility for checking YAML file syntax](https://github.com/j13k/yaml-lint) | ✅ | ✅ | ### Removed tools @@ -134,7 +133,7 @@ To exclude some tools from the listing multiple `--exclude-tag` options can be a The `--tag` option can be used to filter tools by tags. ``` -./toolbox list-tools --exclude-tag exclude-php:7.3 --exclude-tag foo --tag bar +./toolbox list-tools --exclude-tag exclude-php:7.4 --exclude-tag foo --tag bar ``` ### Install tools @@ -172,7 +171,7 @@ To exclude some tools from the installation multiple `--exclude-tag` options can The `--tag` option can be used to filter tools by tags. ``` -./toolbox install --exclude-tag exclude-php:7.3 --exclude-tag foo --tag bar +./toolbox install --exclude-tag exclude-php:7.4 --exclude-tag foo --tag bar ``` ### Test if installed tools are usable @@ -195,7 +194,7 @@ To exclude some tools from the generated test command multiple `--exclude-tag` o The `--tag` option can be used to filter tools by tags. ``` -./toolbox test --exclude-tag exclude-php:7.3 --exclude-tag foo --tag bar +./toolbox test --exclude-tag exclude-php:7.4 --exclude-tag foo --tag bar ``` ### Tools definitions @@ -237,7 +236,7 @@ Tools can be tagged in order to enable grouping and filtering them. The tags below have a special meaning: * `pre-installation` - these tools will be installed before any other tools. -* `exclude-php:7.3`, `exclude-php:7.1` etc - used to exclude installation on the specified php version. +* `exclude-php:8.1`, `exclude-php:7.4` etc - used to exclude installation on the specified php version. ## Contributing diff --git a/bin/devkit.php b/bin/devkit.php index 8948c731..90904454 100755 --- a/bin/devkit.php +++ b/bin/devkit.php @@ -73,17 +73,16 @@ protected function execute(InputInterface $input, OutputInterface $output) $readmePath = $input->getOption('readme'); $tools = $this->loadTools($jsonPath); - $toolsList = '| Name | Description | PHP 7.3 | PHP 7.4 | PHP 8.0' . PHP_EOL; - $toolsList .= '| :--- | :---------- | :------ | :------ | :------' . PHP_EOL; + $toolsList = '| Name | Description | PHP 7.4 | PHP 8.0' . PHP_EOL; + $toolsList .= '| :--- | :---------- | :------ | :------' . PHP_EOL; $toolsList .= $tools->sort(function (Tool $left, Tool $right) { return strcasecmp($left->name(), $right->name()); })->reduce('', function ($acc, Tool $tool) { - return $acc . sprintf('| %s | [%s](%s) | %s | %s | %s |', + return $acc . sprintf('| %s | [%s](%s) | %s | %s |', $tool->name(), $tool->summary(), $tool->website(), - in_array('exclude-php:7.3', $tool->tags(), true) ? '❌' : '✅' , in_array('exclude-php:7.4', $tool->tags(), true) ? '❌' : '✅' , in_array('exclude-php:8.0', $tool->tags(), true) ? '❌' : '✅' ) . PHP_EOL; diff --git a/composer.json b/composer.json index 236d24a5..a69051b5 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,7 @@ "description": "Helps to discover and install tools", "type": "project", "require": { - "php": "^7.3 || ~8.0.0", + "php": "^7.4.7 || ~8.0.0", "symfony/console": "^4.4 || ^5.3", "psr/container": "^1.0" }, @@ -11,7 +11,7 @@ "phpunit/phpunit": "^9.5", "zalas/phpunit-globals": "^2.1", "phpspec/prophecy-phpunit": "^2.0", - "infection/infection": "^0.18 || ^0.20.2" + "infection/infection": "^0.25.4" }, "autoload": { "psr-4": { diff --git a/infection.json.dist b/infection.json.dist index 1999cff1..a2cee5ad 100644 --- a/infection.json.dist +++ b/infection.json.dist @@ -12,6 +12,8 @@ "@default": true, "IdenticalEqual": false, "NotIdenticalNotEqual": false, + "Concat": false, + "ConcatOperandRemoval": false, "ArrayItemRemoval": { "ignore": [ "Zalas\\Toolbox\\Cli\\Command\\ListCommand::execute" diff --git a/resources/architecture.json b/resources/architecture.json index e7f9d983..13ba81d0 100644 --- a/resources/architecture.json +++ b/resources/architecture.json @@ -26,7 +26,7 @@ } }, "test": "deptrac list", - "tags": ["featured", "architecture", "exclude-php:7.3"] + "tags": ["featured", "architecture"] }, { "name": "pdepend", diff --git a/resources/compatibility.json b/resources/compatibility.json index 5edc8085..3f0c7191 100644 --- a/resources/compatibility.json +++ b/resources/compatibility.json @@ -24,7 +24,7 @@ } }, "test": "roave-backward-compatibility-check --version", - "tags": ["exclude-php:7.3", "exclude-php:8.0", "compatibility"] + "tags": ["exclude-php:8.0", "compatibility"] } ] } diff --git a/resources/composer.json b/resources/composer.json index f1018023..c63d32e1 100644 --- a/resources/composer.json +++ b/resources/composer.json @@ -38,19 +38,7 @@ } }, "test": "composer-require-checker -V", - "tags": ["exclude-php:7.3", "composer"] - }, - { - "name": "composer-require-checker-v2", - "summary": "Verify that no unknown symbols are used in the sources of a package.", - "website": "https://github.com/maglnet/ComposerRequireChecker", - "command": { - "composer-global-install": { - "package": "maglnet/composer-require-checker:^2.0" - } - }, - "test": "composer-require-checker -V", - "tags": ["exclude-php:7.4", "exclude-php:8.0", "composer"] + "tags": ["composer"] } ] } diff --git a/resources/linting.json b/resources/linting.json index 4df3d5f6..2b58255d 100644 --- a/resources/linting.json +++ b/resources/linting.json @@ -24,7 +24,7 @@ } }, "test": "phplint -V", - "tags": ["exclude-php:7.3", "linting"] + "tags": ["linting"] }, { "name": "twig-lint", diff --git a/resources/test.json b/resources/test.json index 4f6926de..1e0bc1b6 100644 --- a/resources/test.json +++ b/resources/test.json @@ -38,7 +38,7 @@ } }, "test": "infection --version", - "tags": ["featured", "exclude-php:7.3", "test"] + "tags": ["featured", "test"] }, { "name": "paratest", @@ -79,7 +79,7 @@ } }, "test": "php-fuzzer --help", - "tags": ["exclude-php:7.3", "test"] + "tags": ["test"] }, { "name": "phpspec",