|
| 1 | +ifdef CI |
| 2 | + DOCKER_PHP_EXEC := |
| 3 | +else |
| 4 | + DOCKER_PHP_EXEC := docker compose run --rm php |
| 5 | +endif |
1 | 6 | PARALLELISM := $(shell nproc)
|
2 | 7 |
|
3 | 8 | .PHONY: all
|
4 |
| -all: install phpcbf phpcs phpstan phpunit infection phpbench |
| 9 | +all: phpcbf phpcs phpstan phpunit infection phpbench |
5 | 10 |
|
6 |
| -.PHONY: install |
7 |
| -install: vendor/composer/installed.json |
| 11 | +.env: /etc/passwd /etc/group Makefile |
| 12 | + printf "USER_ID=%s\nGROUP_ID=%s\n" `id --user "${USER}"` `id --group "${USER}"` > .env |
8 | 13 |
|
9 |
| -vendor/composer/installed.json: composer.json composer.lock |
10 |
| - @composer install $(INSTALL_FLAGS) |
| 14 | +vendor/composer/installed.json: composer.json composer.lock .env docker-compose.yml Dockerfile |
| 15 | + @$(DOCKER_PHP_EXEC) composer install $(INSTALL_FLAGS) |
11 | 16 | @touch -c composer.json composer.lock vendor/composer/installed.json
|
12 | 17 |
|
13 | 18 | .PHONY: phpunit
|
14 |
| -phpunit: |
15 |
| - @php -d assert.exception=1 -d zend.assertions=1 vendor/bin/phpunit $(PHPUNIT_FLAGS) |
| 19 | +phpunit: vendor/composer/installed.json |
| 20 | + @$(DOCKER_PHP_EXEC) php -d assert.exception=1 -d zend.assertions=1 vendor/bin/phpunit $(PHPUNIT_FLAGS) |
16 | 21 |
|
17 | 22 | .PHONY: infection
|
18 |
| -infection: |
19 |
| - @php -d assert.exception=1 -d zend.assertions=1 -d xdebug.mode=coverage vendor/bin/phpunit --coverage-xml=build/coverage-xml --log-junit=build/junit.xml $(PHPUNIT_FLAGS) |
20 |
| - @php -d assert.exception=1 -d zend.assertions=1 vendor/bin/infection -v -s --threads=$(PARALLELISM) --coverage=build --skip-initial-tests $(INFECTION_FLAGS) |
| 23 | +infection: vendor/composer/installed.json |
| 24 | + @$(DOCKER_PHP_EXEC) php -d assert.exception=1 -d zend.assertions=1 -d xdebug.mode=coverage vendor/bin/phpunit --coverage-xml=build/coverage-xml --log-junit=build/junit.xml $(PHPUNIT_FLAGS) |
| 25 | + @$(DOCKER_PHP_EXEC) php -d assert.exception=1 -d zend.assertions=1 vendor/bin/infection -v -s --threads=$(PARALLELISM) --coverage=build --skip-initial-tests $(INFECTION_FLAGS) |
21 | 26 |
|
22 | 27 | .PHONY: phpcbf
|
23 |
| -phpcbf: |
24 |
| - @vendor/bin/phpcbf --parallel=$(PARALLELISM) || true |
| 28 | +phpcbf: vendor/composer/installed.json |
| 29 | + @$(DOCKER_PHP_EXEC) vendor/bin/phpcbf --parallel=$(PARALLELISM) || true |
25 | 30 |
|
26 | 31 | .PHONY: phpcs
|
27 |
| -phpcs: |
28 |
| - @vendor/bin/phpcs --parallel=$(PARALLELISM) $(PHPCS_FLAGS) |
| 32 | +phpcs: vendor/composer/installed.json |
| 33 | + @$(DOCKER_PHP_EXEC) vendor/bin/phpcs --parallel=$(PARALLELISM) $(PHPCS_FLAGS) |
29 | 34 |
|
30 | 35 | .PHONY: phpstan
|
31 |
| -phpstan: |
32 |
| - @php -d xdebug.mode=off vendor/bin/phpstan analyse --memory-limit=-1 |
| 36 | +phpstan: vendor/composer/installed.json |
| 37 | + @$(DOCKER_PHP_EXEC) php -d xdebug.mode=off vendor/bin/phpstan analyse --memory-limit=-1 |
33 | 38 |
|
34 | 39 | ifndef PHPBENCH_REPORT
|
35 | 40 | override PHPBENCH_REPORT = aggregate
|
36 | 41 | endif
|
37 | 42 |
|
38 | 43 | .PHONY: phpbench
|
39 |
| -phpbench: |
40 |
| - @vendor/bin/phpbench run -l dots --retry-threshold=5 --report=$(PHPBENCH_REPORT) $(PHPBENCH_FLAGS) |
| 44 | +phpbench: vendor/composer/installed.json |
| 45 | + @$(DOCKER_PHP_EXEC) vendor/bin/phpbench run -l dots --retry-threshold=5 --report=$(PHPBENCH_REPORT) $(PHPBENCH_FLAGS) |
0 commit comments