-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
43 lines (33 loc) · 1.15 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.PHONY: ${TARGETS}
.DEFAULT_GOAL := help
DIR := ${CURDIR}
QA_IMAGE := jakzal/phpqa:php7.3-alpine
define say_red =
echo "\033[31m$1\033[0m"
endef
define say_green =
echo "\033[32m$1\033[0m"
endef
define say_yellow =
echo "\033[33m$1\033[0m"
endef
help:
@echo "\033[33mUsage:\033[0m"
@echo " make [command]"
@echo ""
@echo "\033[33mAvailable commands:\033[0m"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort \
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%s\033[0m___%s\n", $$1, $$2}' | column -ts___
install: ## Install all applications
@$(call say_green,"Installing PHP dependencies")
@composer install
cs-lint: ## Verify check styles
@docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) php-cs-fixer fix --diff-format udiff --dry-run -vvv
cs-fix: ## Apply Check styles
@docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) php-cs-fixer fix --diff-format udiff -vvv
phpstan: ## Run PHPStan
@docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) phpstan analyse
test: cs-lint phpstan ## Launch tests
@rm -rf ./tests/app/var ./tests/app/cache
@$(call say_green,"==\> Launch unit tests")
@vendor/bin/phpunit