forked from bolt/core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
161 lines (121 loc) · 5.22 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
DC_RUN ?= docker-compose run --rm
SHELL = bash
COMPOSER ?= COMPOSER_MEMORY_LIMIT=-1 composer
.PHONY: help install server server-stop cache csclear cscheck csfix csfix-tests stancheck test \
full-test db-update db-reset \
docker-install docker-install-deps docker-start docker-assets-serve \
docker-update docker-cache docker-csclear docker-cscheck docker-csfix docker-stancheck docker-db-reset \
docker-db-update docker-npm-fix-env docker-test docker-server-stop docker-full-test \
docker-command docker-console
default: help
help:
@grep -E '^[a-zA-Z_-]+:.*?##.*$$' $(MAKEFILE_LIST) | sort | awk '{split($$0, a, ":"); printf "\033[36m%-30s\033[0m %-30s %s\n", a[1], a[2], a[3]}'
start: ## to run the install scripts and start the server
make install
make db-reset
make server
install: ## to install all project dependencies (Composer and NPM)
$(COMPOSER) install
npm install
npm run build
update:
$(COMPOSER) update && $(COMPOSER) outdated
server: ## to start server
bin/console server:start 127.0.0.1:8088 -q || true
server-stop: ## to stop server
bin/console server:stop
cache: ## to clean cache
bin/console cache:clear
csclear: ## to clean cache and check coding style
mkdir -p var/cache/ecs
chmod -R a+rw var/cache/ecs
rm -rf var/cache/ecs/*
cscheck: ## to check coding style
make csclear
vendor/bin/ecs check src
vendor/bin/ecs check tests/php
make stancheck
csfix: ## to fix coding style
make csclear
vendor/bin/ecs check src --fix
vendor/bin/ecs check tests/php --fix
make stancheck
stancheck: ## to run phpstan
vendor/bin/phpstan --memory-limit=1G analyse -c phpstan.neon src
test: ## to run phpunit tests
vendor/bin/phpunit
full-test: ## to run full tests
make cscheck
make test
db-update: ## to update schema database
bin/console doctrine:schema:update --complete --force
bin/console doctrine:migrations:sync-metadata-storage -q
bin/console doctrine:migrations:version --add --all -n -q
db-reset: ## to delete database and load fixtures
bin/console doctrine:schema:drop --force --full-database
bin/console doctrine:schema:create -q
bin/console doctrine:migrations:sync-metadata-storage -q
bin/console doctrine:migrations:version --add --all -n -q
bin/console doctrine:fixtures:load -n
db-reset-without-images: ## to delete database and load fixtures, but no images
bin/console doctrine:schema:drop --force --full-database
bin/console doctrine:schema:create -q
bin/console doctrine:migrations:sync-metadata-storage -q
bin/console doctrine:migrations:version --add --all -n -q
bin/console doctrine:fixtures:load --group=without-images -n
# Dockerized commands:
docker-install: ## to install project with docker
make docker-start
make docker-install-deps
make docker-db-reset
docker-install-deps: ## to install all assets with docker
docker-compose exec -T php sh -c "$(COMPOSER) install"
$(DC_RUN) node sh -c "npm install"
$(DC_RUN) node sh -c "npm rebuild node-sass"
$(DC_RUN) node sh -c "npm run build"
docker-build: ## to build containers
docker-compose build
docker-start: ## to start containers
docker-compose up -d
docker-assets-serve: ## to run server with npm
$(DC_RUN) node sh -c "npm run serve"
docker-update: ## to update dependencies with docker
docker-compose exec -T php sh -c "$(COMPOSER) update && $(COMPOSER) outdated"
docker-cache: ## to clean cache with docker
docker-compose exec -T php sh -c "bin/console cache:clear"
docker-csclear: ## to clean cache and check coding style with docker
docker-compose exec -T php sh -c "mkdir -p var/cache/ecs"
docker-compose exec -T php sh -c "chmod -R a+rw var/cache/ecs"
docker-compose exec -T php sh -c "rm -rf var/cache/ecs/*"
docker-cscheck: ## to check coding style with docker
make docker-csclear
docker-compose exec -T php sh -c "vendor/bin/ecs check src"
make docker-stancheck
docker-csfix: ## to fix coding style with docker
make docker-csclear
docker-compose exec -T php sh -c "vendor/bin/ecs check src --fix"
make docker-stancheck
docker-stancheck: ## to run phpstan with docker
docker-compose exec -T php sh -c "vendor/bin/phpstan analyse -c phpstan.neon src"
docker-db-reset: ## to delete database with docker
docker-compose exec -T php sh -c "bin/console doctrine:schema:drop --force --full-database"
docker-compose exec -T php sh -c "bin/console doctrine:schema:create"
docker-compose exec -T php sh -c "bin/console doctrine:fixtures:load -n"
docker-db-update: ## to update schema database with docker
docker-compose exec -T php sh -c "bin/console doctrine:schema:update -v --dump-sql --force --complete"
docker-npm-fix-env: ## to rebuild asset sass
$(DC_RUN) node sh -c "npm rebuild node-sass"
docker-test: ## to run phpunit tests with docker
docker-compose exec -T php sh -c "vendor/bin/phpunit"
docker-server: ## to start server with docker
docker-compose exec -T php bin/console server:start 127.0.0.1:8088
docker-server-stop: ## to stop server with docker
docker-compose exec -T -u www-data php bin/console server:stop
docker-full-test: ## to run all test with docker
make docker-cache
make docker-cscheck
make docker-test
docker-command: ## to run command shell in php container
docker-compose exec -T php sh -c "$(c)"
docker-console: ## to run command with console symfony in php container
docker-compose exec -T php sh -c "bin/console $(c)"