diff --git a/.gitignore b/.gitignore index 80b10dd2a0..2a19013d08 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ prefixer/vendor prefixer/build docker-compose.override.yml tasks/code_sniffer/vendor +tasks/phpstan/vendor /tools/vendor diff --git a/RoboFile.php b/RoboFile.php index 11d435280f..ae97b94e59 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -391,6 +391,7 @@ class RoboFile extends \Robo\Tasks { 'prefixer/build', 'prefixer/vendor', 'tasks/code_sniffer/vendor', + 'tasks/phpstan/vendor', 'tasks/makepot', 'tools/vendor', ]) @@ -462,7 +463,7 @@ class RoboFile extends \Robo\Tasks { ->taskExec( 'WP_ROOT="' . getenv('WP_ROOT') . '" ' . 'php -d memory_limit=2G ' . - "$dir/tools/vendor/phpstan.phar analyse " . + "$dir/tasks/phpstan/vendor/bin/phpstan analyse " . "--configuration $dir/tasks/phpstan/phpstan.neon " . '--level 5 ' . "$dir/lib" diff --git a/composer.json b/composer.json index 86e37681e3..0e7b34cd21 100644 --- a/composer.json +++ b/composer.json @@ -72,13 +72,15 @@ "@fixPHPUnit57CodeCoverageForPHP72", "./prefixer/process.sh", "./tools/vendor/composer.phar dump-autoload", - "./tools/vendor/composer.phar --working-dir=tasks/code_sniffer install" + "./tools/vendor/composer.phar --working-dir=tasks/code_sniffer install", + "./tools/vendor/composer.phar --working-dir=tasks/phpstan install" ], "post-install-cmd": [ "@fixPHPUnit57CodeCoverageForPHP72", "./prefixer/process.sh", "./tools/vendor/composer.phar dump-autoload", - "./tools/vendor/composer.phar --working-dir=tasks/code_sniffer install" + "./tools/vendor/composer.phar --working-dir=tasks/code_sniffer install", + "./tools/vendor/composer.phar --working-dir=tasks/phpstan install" ], "fixPHPUnit57CodeCoverageForPHP72": "sed -i -- 's/\\$numTests = count(\\$coverageData\\[\\$i\\]);/$numTests = (is_array($coverageData[$i]) ? count($coverageData[$i]) : 0);/g' vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php" }, diff --git a/tasks/phpstan/composer.json b/tasks/phpstan/composer.json new file mode 100644 index 0000000000..7f8fc25e8d --- /dev/null +++ b/tasks/phpstan/composer.json @@ -0,0 +1,8 @@ +{ + "require": { + "phpstan/phpstan-shim": "0.11.16" + }, + "config": { + "sort-packages": true + } +} diff --git a/tasks/phpstan/composer.lock b/tasks/phpstan/composer.lock new file mode 100644 index 0000000000..acc01bb373 --- /dev/null +++ b/tasks/phpstan/composer.lock @@ -0,0 +1,62 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "96933bb43941850689571d7ebe5ad875", + "packages": [ + { + "name": "phpstan/phpstan-shim", + "version": "0.11.16", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-shim.git", + "reference": "cf44220c5c015b5e974c22c93341bdcdc9ee3a1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-shim/zipball/cf44220c5c015b5e974c22c93341bdcdc9ee3a1e", + "reference": "cf44220c5c015b5e974c22c93341bdcdc9ee3a1e", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "replace": { + "nikic/php-parser": "^4.0.2", + "phpstan/phpdoc-parser": "^0.3.3", + "phpstan/phpstan": "self.version" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.11-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan Phar distribution", + "time": "2019-09-17T11:49:39+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/tools/install.php b/tools/install.php index f3065cee14..6e5dbb4227 100644 --- a/tools/install.php +++ b/tools/install.php @@ -3,7 +3,6 @@ $tools = [ 'https://github.com/composer/composer/releases/download/1.9.0/composer.phar' => 'composer.phar', 'https://github.com/humbug/php-scoper/releases/download/0.11.4/php-scoper.phar' => 'php-scoper.phar', - 'https://github.com/phpstan/phpstan/releases/download/0.11.5/phpstan.phar' => 'phpstan.phar', 'https://github.com/nette/tracy/releases/download/v2.6.4/tracy.phar' => 'tracy.phar', ];