11dir =${CURDIR}
22project =-p laravel
33service =laravel:latest
4+ interactive: =$(shell [ -t 0 ] && echo 1)
5+ ifneq ($(interactive ) ,1)
6+ optionT=-T
7+ endif
48
59start :
610 @docker-compose -f docker-compose.yml $(project ) up -d
@@ -31,7 +35,7 @@ env-test-ci:
3135 @make exec cmd=" cp ./.env.test-ci ./.env"
3236
3337ssh :
34- @docker-compose $(project ) exec laravel bash
38+ @docker-compose $(project ) exec $( optionT ) laravel bash
3539
3640ssh-supervisord :
3741 @docker-compose $(project ) exec supervisord bash
@@ -40,14 +44,17 @@ ssh-mysql:
4044 @docker-compose $(project ) exec mysql bash
4145
4246exec :
43- @docker-compose $(project ) exec laravel $$ cmd
47+ @docker-compose $(project ) exec $( optionT ) laravel $$ cmd
4448
45- clean :
46- rm -rf $( dir ) /reports/ *
49+ exec-bash :
50+ @docker-compose $( project ) exec $( optionT ) laravel bash -c " $( cmd ) "
4751
48- prepare :
52+ report- prepare :
4953 mkdir -p $(dir ) /reports/coverage
5054
55+ report-clean :
56+ rm -rf $(dir ) /reports/*
57+
5158wait-for-db :
5259 @make exec cmd=" php artisan db:wait"
5360
8895 @make exec cmd=" php artisan db:seed --force"
8996
9097phpunit :
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