11dir =${CURDIR}
22project =-p symfony
33service =symfony: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
@@ -28,20 +32,32 @@ env-prod:
2832 @make exec cmd=" composer dump-env prod"
2933
3034ssh :
31- @docker-compose $(project ) exec symfony bash
35+ @docker-compose $(project ) exec $(optionT ) symfony bash
36+
37+ ssh-nginx :
38+ @docker-compose $(project ) exec nginx /bin/sh
3239
3340ssh-supervisord :
3441 @docker-compose $(project ) exec supervisord bash
3542
43+ ssh-mysql :
44+ @docker-compose $(project ) exec mysql bash
45+
46+ ssh-rabbitmq :
47+ @docker-compose $(project ) exec rabbitmq /bin/sh
48+
3649exec :
37- @docker-compose $(project ) exec symfony $$ cmd
50+ @docker-compose $(project ) exec $( optionT ) symfony $$ cmd
3851
39- clean :
40- rm -rf $( dir ) /reports/ *
52+ exec-bash :
53+ @docker-compose $( project ) exec $( optionT ) symfony bash -c " $( cmd ) "
4154
42- prepare :
55+ report- prepare :
4356 mkdir -p $(dir ) /reports/coverage
4457
58+ report-clean :
59+ rm -rf $(dir ) /reports/*
60+
4561wait-for-db :
4662 @make exec cmd=" php bin/console db:wait"
4763
5874 @make exec cmd=" bin/console --version"
5975 @make exec cmd=" php --version"
6076
77+ logs :
78+ @docker logs -f symfony
79+
80+ logs-nginx :
81+ @docker logs -f nginx
82+
6183logs-supervisord :
62- @docker logs supervisord
84+ @docker logs -f supervisord
85+
86+ logs-mysql :
87+ @docker logs -f mysql
88+
89+ logs-rabbitmq :
90+ @docker logs -f rabbitmq
6391
6492drop-migrate :
6593 @make exec cmd=" php bin/console doctrine:schema:drop --full-database --force"
@@ -74,7 +102,40 @@ migrate:
74102 @make exec cmd=" php bin/console doctrine:migrations:migrate --no-interaction --env=test"
75103
76104fixtures :
77- @make exec cmd=" php bin/console doctrine:fixtures:load --append "
105+ @make exec cmd=" php bin/console doctrine:fixtures:load --env=test "
78106
79107phpunit :
80- @make exec cmd=" ./vendor/bin/simple-phpunit -c phpunit.xml.dist --log-junit reports/phpunit.xml --coverage-html reports/coverage --coverage-clover reports/coverage.xml"
108+ @make exec cmd=" ./vendor/bin/phpunit -c phpunit.xml.dist --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml"
109+
110+ # ##> php-coveralls ###
111+ report-code-coverage : # # update code coverage on coveralls.io. Note: COVERALLS_REPO_TOKEN should be set on CI side.
112+ @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"
113+ # ##< php-coveralls ###
114+
115+ # ##> phpcs ###
116+ phpcs : # # Run PHP CodeSniffer
117+ @make exec-bash cmd=" ./vendor/bin/phpcs --version && ./vendor/bin/phpcs --standard=PSR2 --colors -p src"
118+ # ##< phpcs ###
119+
120+ # ##> ecs ###
121+ ecs : # # Run Easy Coding Standard
122+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache check src"
123+
124+ ecs-fix : # # Run The Easy Coding Standard to fix issues
125+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache --fix check src"
126+ # ##< ecs ###
127+
128+ # ##> phpmetrics ###
129+ phpmetrics :
130+ @make exec cmd=" make phpmetrics-process"
131+
132+ phpmetrics-process : # # Generates PhpMetrics static analysis, should be run inside symfony container
133+ @mkdir -p reports/phpmetrics
134+ @if [ ! -f reports/junit.xml ] ; then \
135+ printf " \033[32;49mjunit.xml not found, running tests...\033[39m\n" ; \
136+ ./vendor/bin/phpunit -c phpunit.xml.dist --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml ; \
137+ fi ;
138+ @echo " \033[32mRunning PhpMetrics\033[39m"
139+ @php ./vendor/bin/phpmetrics --version
140+ @./vendor/bin/phpmetrics --junit=reports/junit.xml --report-html=reports/phpmetrics .
141+ # ##< phpmetrics ###
0 commit comments