|
1 |
| -.PHONY: install-phive |
2 |
| -install-phive: |
3 |
| - mkdir tools; \ |
4 |
| - wget -O tools/phive.phar https://phar.io/releases/phive.phar; \ |
5 |
| - wget -O tools/phive.phar.asc https://phar.io/releases/phive.phar.asc; \ |
6 |
| - gpg --keyserver pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79; \ |
7 |
| - gpg --verify tools/phive.phar.asc tools/phive.phar; \ |
8 |
| - chmod +x tools/phive.phar |
9 |
| - |
10 |
| -.PHONY: setup |
11 |
| -setup: install-phive |
12 |
| - docker run -it --rm -v${PWD}:/opt/project -w /opt/project phpdoc/phar-ga:latest php tools/phive.phar install --force-accept-unsigned |
13 |
| - |
14 |
| -.PHONY: phpcs |
15 |
| -phpcs: |
16 |
| - docker run -it --rm -v${PWD}:/opt/project -w /opt/project phpdoc/phpcs-ga:latest -s |
17 |
| - |
18 |
| -.PHONY: phpcbf |
19 |
| -phpcbf: |
| 1 | +.PHONY: help |
| 2 | +help: ## Displays this list of targets with descriptions |
| 3 | + @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}' |
| 4 | + |
| 5 | +.PHONY: code-style |
| 6 | +code-style: |
| 7 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project phpdoc/phpcs-ga:latest -d memory_limit=1024M -s |
| 8 | + |
| 9 | +.PHONY: fix-code-style |
| 10 | +fix-code-style: |
20 | 11 | docker run -it --rm -v${PWD}:/opt/project -w /opt/project phpdoc/phpcs-ga:latest phpcbf
|
21 | 12 |
|
22 |
| -.PHONY: phpstan |
23 |
| -phpstan: |
24 |
| - docker run -it --rm -v${PWD}:/opt/project -w /opt/project phpdoc/phpstan-ga:latest analyse src --no-progress --configuration phpstan.neon |
| 13 | +.PHONY: static-code-analysis |
| 14 | +static-code-analysis: vendor ## Runs a static code analysis with phpstan/phpstan and vimeo/psalm |
| 15 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 vendor/bin/phpstan --configuration=phpstan.neon |
| 16 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 vendor/bin/psalm |
25 | 17 |
|
26 |
| -.PHONY: psalm |
27 |
| -psalm: |
28 |
| - docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.3 vendor/bin/psalm.phar |
29 | 18 | .PHONY: test
|
30 |
| -test: |
31 |
| - docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.2 tools/phpunit |
| 19 | +test: test-unit ## Runs all test suites with phpunit/phpunit |
| 20 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 vendor/bin/phpunit |
32 | 21 |
|
33 |
| -.PHONY: pre-commit-test |
34 |
| -pre-commit-test: test phpcs phpstan psalm |
| 22 | +.PHONY: test-unit |
| 23 | +test-unit: ## Runs unit tests with phpunit/phpunit |
| 24 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 vendor/bin/phpunit --testsuite=unit |
| 25 | + |
| 26 | +.PHONY: dependency-analysis |
| 27 | +dependency-analysis: vendor ## Runs a dependency analysis with maglnet/composer-require-checker |
| 28 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 .phive/composer-require-checker check --config-file=/opt/project/composer-require-checker.json |
35 | 29 |
|
| 30 | +vendor: composer.json composer.lock |
| 31 | + composer validate --no-check-publish |
| 32 | + composer install --no-interaction --no-progress |
| 33 | + |
| 34 | +.PHONY: rector |
| 35 | +rector: ## Refactor code using rector |
| 36 | + docker run -it --rm -v${PWD}:/opt/project -w /opt/project php:7.4 vendor/bin/rector process |
| 37 | + |
| 38 | +.PHONY: pre-commit-test |
| 39 | +pre-commit-test: fix-code-style test code-style static-code-analysis |
0 commit comments