1
1
dir =${CURDIR}
2
2
project =-p laravel
3
3
service =laravel:latest
4
+ interactive: =$(shell [ -t 0 ] && echo 1)
5
+ ifneq ($(interactive ) ,1)
6
+ optionT=-T
7
+ endif
4
8
5
9
start :
6
10
@docker-compose -f docker-compose.yml $(project ) up -d
@@ -31,7 +35,7 @@ env-test-ci:
31
35
@make exec cmd=" cp ./.env.test-ci ./.env"
32
36
33
37
ssh :
34
- @docker-compose $(project ) exec laravel bash
38
+ @docker-compose $(project ) exec $( optionT ) laravel bash
35
39
36
40
ssh-supervisord :
37
41
@docker-compose $(project ) exec supervisord bash
@@ -40,14 +44,17 @@ ssh-mysql:
40
44
@docker-compose $(project ) exec mysql bash
41
45
42
46
exec :
43
- @docker-compose $(project ) exec laravel $$ cmd
47
+ @docker-compose $(project ) exec $( optionT ) laravel $$ cmd
44
48
45
- clean :
46
- rm -rf $( dir ) /reports/ *
49
+ exec-bash :
50
+ @docker-compose $( project ) exec $( optionT ) laravel bash -c " $( cmd ) "
47
51
48
- prepare :
52
+ report- prepare :
49
53
mkdir -p $(dir ) /reports/coverage
50
54
55
+ report-clean :
56
+ rm -rf $(dir ) /reports/*
57
+
51
58
wait-for-db :
52
59
@make exec cmd=" php artisan db:wait"
53
60
88
95
@make exec cmd=" php artisan db:seed --force"
89
96
90
97
phpunit :
91
- @make exec cmd=" vendor/bin/phpunit -c phpunit.xml --log-junit reports/phpunit.xml --coverage-html reports/coverage --coverage-clover reports/coverage.xml"
98
+ @make exec cmd=" ./vendor/bin/phpunit -c phpunit.xml --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml"
99
+
100
+ # ##> php-coveralls ###
101
+ report-code-coverage : # # update code coverage on coveralls.io. Note: COVERALLS_REPO_TOKEN should be set on CI side.
102
+ @make exec-bash cmd=" export COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN} && php ./vendor/bin/php-coveralls -v --coverage_clover reports/clover.xml --json_path reports/coverals.json"
103
+ # ##< php-coveralls ###
104
+
105
+ # ##> phpcs ###
106
+ phpcs : # # Run PHP CodeSniffer
107
+ @make exec-bash cmd=" ./vendor/bin/phpcs --version && ./vendor/bin/phpcs --standard=PSR2 --colors -p app"
108
+ # ##< phpcs ###
109
+
110
+ # ##> ecs ###
111
+ ecs : # # Run Easy Coding Standard
112
+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache check app"
113
+
114
+ ecs-fix : # # Run The Easy Coding Standard to fix issues
115
+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache --fix check app"
116
+ # ##< ecs ###
117
+
118
+ # ##> phpmetrics ###
119
+ phpmetrics :
120
+ @make exec cmd=" make phpmetrics-process"
121
+
122
+ phpmetrics-process : # # Generates PhpMetrics static analysis, should be run inside symfony container
123
+ @mkdir -p reports/phpmetrics
124
+ @if [ ! -f reports/junit.xml ] ; then \
125
+ printf " \033[32;49mjunit.xml not found, running tests...\033[39m\n" ; \
126
+ ./vendor/bin/phpunit -c phpunit.xml --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml ; \
127
+ fi ;
128
+ @echo " \033[32mRunning PhpMetrics\033[39m"
129
+ @php ./vendor/bin/phpmetrics --version
130
+ @./vendor/bin/phpmetrics --junit=reports/junit.xml --report-html=reports/phpmetrics .
131
+ # ##< phpmetrics ###
0 commit comments