-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·146 lines (111 loc) · 4 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
DOCKER_COMPOSE = docker-compose
EXEC_PHP = $(DOCKER_COMPOSE) exec -T php
EXEC_JS = $(DOCKER_COMPOSE) exec -T php
SYMFONY = $(EXEC_PHP) bin/console
COMPOSER = $(EXEC_PHP) composer
YARN = $(EXEC_JS) yarn
NPM = $(EXEC_JS) npm
EXEC_CURL = curl -X POST -H 'Content-type: application/json' https://hooks.slack.com/services/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 --data
build:
@$(DOCKER_COMPOSE) pull --ignore-pull-failures
$(DOCKER_COMPOSE) build --pull
kill:
$(DOCKER_COMPOSE) kill
$(DOCKER_COMPOSE) down --volumes --remove-orphans
install: ## Install and start the project
install: .env.local networks build start assets success
reset: ## Stop and start a fresh install of the project
reset: kill install
networks:
-docker network create loto_network
start: ## Start the project
$(DOCKER_COMPOSE) up -d --remove-orphans --no-recreate
stop: ## Stop the project
$(DOCKER_COMPOSE) stop
clean: ## Stop the project and remove generated files
clean: kill
rm -rf .env.local vendor node_modules
success:
@echo '\033[1;32mInstall done\033[0m';
.PHONY: networks build kill install reset start stop clean success
##
## Utils
## -----
##
cache: ## Reset cache
cache:
@$(SYMFONY) cache:clear --no-warmup
mysql: ## Reset the database and load fixtures
mysql: .env.local vendor
-$(SYMFONY) doctrine:database:drop --if-exists --force
-$(SYMFONY) doctrine:database:create --if-not-exists
-$(SYMFONY) doctrine:migrations:migrate --no-interaction --allow-no-migration
migration: ## Generate a new doctrine migration
migration: vendor
-$(SYMFONY) doctrine:migrations:diff
assets: vendor
$(SYMFONY) assets:install public
update-composer: ## update-composer
update-composer:
$(COMPOSER) update
.PHONY: mongo mysql migration assets jwt jwt-override update-composer deploy-dev deploy-pp deploy-prod
# rules based on files
composer.lock: ## Update composer
$(COMPOSER) update --lock --no-scripts --no-interaction
vendor: composer.lock
$(COMPOSER) install
package-lock.json: package.json
$(NPM) upgrade
node_modules: package-lock.json
$(NPM) install
$(NPM) run dev
@touch -c node_modules
npm_watch: ## Run npm watcher
npm_watch:
$(NPM) run watch
npm_dev: ## Build npm
npm_dev:
$(NPM) run dev
.env.local: .env
@if [ -f .env.local ]; \
then\
echo '\033[1;41m/!\ The .env file has changed. Please check your .env.local file.\033[0m';\
diff .env .env.local;\
touch .env.local;\
exit 1;\
else\
echo cp .env .env.local;\
cp .env .env.local;\
fi
##
## IMPORT DATA ##
##
success_import:
@echo '\033[1;32mAll imported\033[0m';
import: import_loto import_euromillions import_superloto import_extraloto success_import
import_loto:
$(SYMFONY) app:import:csv archive/loto_197605.csv
$(SYMFONY) app:import:csv archive/loto_200810.csv
$(SYMFONY) app:import:csv archive/loto_201703.csv
$(SYMFONY) app:import:csv archive/loto_201902.csv
$(SYMFONY) app:import:csv archive/loto_201911.csv
import_euromillions:
$(SYMFONY) app:import:csv archive/euromillions_200402.csv
$(SYMFONY) app:import:csv archive/euromillions_201105.csv
$(SYMFONY) app:import:csv archive/euromillions_201402.csv
$(SYMFONY) app:import:csv archive/euromillions_201609.csv
$(SYMFONY) app:import:csv archive/euromillions_201902.csv
$(SYMFONY) app:import:csv archive/euromillions_202002.csv
import_superloto:
$(SYMFONY) app:import:csv archive/superloto_199605.csv
$(SYMFONY) app:import:csv archive/superloto_200810.csv
$(SYMFONY) app:import:csv archive/superloto_201703.csv
$(SYMFONY) app:import:csv archive/superloto_201907.csv
import_extraloto:
$(SYMFONY) app:import:csv archive/grandloto_201912.csv
$(SYMFONY) app:import:csv archive/lotonoel_201703.csv
mysql_data: mysql import
.DEFAULT_GOAL := help
help:
@grep -E '(^[a-zA-Z_-]+:.*?##.*$$)|(^##)' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m##/[33m/'
.PHONY: help