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,29 @@ 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
3236
3337ssh-supervisord :
3438 @docker-compose $(project ) exec supervisord bash
3539
40+ ssh-mysql :
41+ @docker-compose $(project ) exec mysql bash
42+
43+ ssh-rabbitmq :
44+ @docker-compose $(project ) exec rabbitmq /bin/sh
45+
3646exec :
37- @docker-compose $(project ) exec symfony $$ cmd
47+ @docker-compose $(project ) exec $( optionT ) symfony $$ cmd
3848
39- clean :
40- rm -rf $( dir ) /reports/ *
49+ exec-bash :
50+ @docker-compose $( project ) exec $( optionT ) symfony bash -c " $( cmd ) "
4151
42- prepare :
52+ report- prepare :
4353 mkdir -p $(dir ) /reports/coverage
4454
55+ report-clean :
56+ rm -rf $(dir ) /reports/*
57+
4558wait-for-db :
4659 @make exec cmd=" php bin/console db:wait"
4760
5871 @make exec cmd=" bin/console --version"
5972 @make exec cmd=" php --version"
6073
74+ logs :
75+ @docker logs -f symfony
76+
6177logs-supervisord :
62- @docker logs supervisord
78+ @docker logs -f supervisord
79+
80+ logs-mysql :
81+ @docker logs -f mysql
82+
83+ logs-rabbitmq :
84+ @docker logs -f rabbitmq
6385
6486drop-migrate :
6587 @make exec cmd=" php bin/console doctrine:schema:drop --full-database --force"
@@ -74,7 +96,40 @@ migrate:
7496 @make exec cmd=" php bin/console doctrine:migrations:migrate --no-interaction --env=test"
7597
7698fixtures :
77- @make exec cmd=" php bin/console doctrine:fixtures:load --append "
99+ @make exec cmd=" php bin/console doctrine:fixtures:load --env=test "
78100
79101phpunit :
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"
102+ @make exec cmd=" ./vendor/bin/phpunit -c phpunit.xml.dist --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml"
103+
104+ # ##> php-coveralls ###
105+ report-code-coverage : # # update code coverage on coveralls.io. Note: COVERALLS_REPO_TOKEN should be set on CI side.
106+ @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"
107+ # ##< php-coveralls ###
108+
109+ # ##> phpcs ###
110+ phpcs : # # Run PHP CodeSniffer
111+ @make exec-bash cmd=" ./vendor/bin/phpcs --version && ./vendor/bin/phpcs --standard=PSR2 --colors -p src"
112+ # ##< phpcs ###
113+
114+ # ##> ecs ###
115+ ecs : # # Run Easy Coding Standard
116+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache check src"
117+
118+ ecs-fix : # # Run The Easy Coding Standard to fix issues
119+ @make exec-bash cmd=" error_reporting=0 ./vendor/bin/ecs --clear-cache --fix check src"
120+ # ##< ecs ###
121+
122+ # ##> phpmetrics ###
123+ phpmetrics :
124+ @make exec cmd=" make phpmetrics-process"
125+
126+ phpmetrics-process : # # Generates PhpMetrics static analysis, should be run inside symfony container
127+ @mkdir -p reports/phpmetrics
128+ @if [ ! -f reports/junit.xml ] ; then \
129+ printf " \033[32;49mjunit.xml not found, running tests...\033[39m\n" ; \
130+ ./vendor/bin/phpunit -c phpunit.xml.dist --coverage-html reports/coverage --coverage-clover reports/clover.xml --log-junit reports/junit.xml ; \
131+ fi ;
132+ @echo " \033[32mRunning PhpMetrics\033[39m"
133+ @php ./vendor/bin/phpmetrics --version
134+ @./vendor/bin/phpmetrics --junit=reports/junit.xml --report-html=reports/phpmetrics .
135+ # ##< phpmetrics ###
0 commit comments