-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
246 lines (214 loc) · 4.81 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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
#
## docker
#
up:
docker compose up -d
r:
docker compose restart
b:
docker compose up -d --build
s:
docker compose stop
barth:
docker-compose down --rmi all --volumes --remove-orphans
sh-b:
docker compose exec backend bash
sh-f:
docker compose exec frontend bash
sh-n:
docker compose exec nlp bash
sh-d:
docker compose exec db mysql -u root -psecret kadode_local
777:
sudo chmod 777 -R backend
#
# コミット前ルーティン
#
1:
@make 1-b
@make 1-f
@make 1-n
1-b:
@make f-b
@make c-b
@make ide-helper
1-f:
@make f-f
@make c-f
1-n:
@make f-n
@make c-n
#
# テスト
#
t-a:
@make t-b
@make t-f
@make t-n
# バックエンド
t-b:
@make t-bu
@make t-bf
# ↓大改修で絶賛コケまくってるので一旦保留
# @make t-bm
t-bu:
docker compose exec -T backend php artisan test --testsuite Unit
t-bf:
docker compose exec -T backend php artisan test --testsuite Feature
t-bm:
docker compose exec -T backend php artisan test --testsuite MinimumOperationCheck
# フロントエンド
t-f:
@make t-fu
@make t-fc
@make t-fi
@make t-fr
t-finstall:
docker compose exec -T frontend npx playwright install
t-fu:
docker compose exec -T frontend pnpm test:u
t-fc:
docker compose exec -T frontend pnpm test:c
t-fi:
docker compose exec -T frontend pnpm test:i
t-fr:
docker compose exec -T frontend npx playwright show-report --host=0.0.0.0 --port=2802
# NLP
t-n:
@make t-nu
@make t-nc
@make t-ni
t-nu:
docker compose exec -T nlp pytest tests/unit
t-nc:
docker compose exec -T nlp pytest tests/combination
t-ni:
docker compose exec -T nlp pytest tests/integration
#
# format & lint
#
f:
@make f-b
@make f-f
@make f-n
f-b:
docker compose exec -T backend composer cs-fixer-fix
f-f:
docker compose exec -T frontend pnpm format
docker compose exec -T frontend pnpm lint
f-n:
docker compose exec -T nlp black .
docker compose exec -T nlp isort .
docker compose exec -T nlp pflake8 .
#
# 静的解析
#
c:
@make c-b
@make c-f
@make c-n
c-b:
docker compose exec -T backend composer phpstan
c-f:
docker compose exec -T frontend pnpm check
c-n:
# legacyなど従来ファイルは無限にエラーが出てくるので新規で追加するファイルのみを対象にする
docker compose exec -T nlp mypy ./src
# update
#
u:
@make u-b
@make u-f
@make u-n
u-b:
docker compose exec -T backend composer update
u-f:
docker compose exec -T frontend pnpm upgrade
u-n:
docker compose exec -T nlp poetry update
# init
init-b:
docker compose exec backend composer install
docker compose exec backend chmod -R 777 storage bootstrap/cache
init-f:
docker compose exec frontend pnpm install
init-n:
docker compose exec nlp poetry install
#
# バックエンド固有のもの
#
cc:
docker compose exec -T backend php artisan config:cache
docker compose exec -T backend php artisan route:cache
migrate:
docker compose exec -T backend php artisan migrate
# DB再構築
fresh:
docker compose exec -T backend php artisan migrate:fresh --seed
# DBロールバック
refresh:
docker compose exec -T backend php artisan migrate:refresh
tinker:
docker compose exec -T backend php artisan tinker
stan:
@make c-b
stan-b:
docker compose exec -T backend composer phpstan-g
ide-helper:
docker compose exec -T backend php artisan clear-compiled
docker compose exec -T backend php artisan ide-helper:generate
docker compose exec -T backend php artisan ide-helper:meta
docker compose exec -T backend php artisan ide-helper:models --nowrite
make-model:
docker compose exec -T backend php artisan make:model $(name) --migration
# make-model name=ModelName
# parameterはPHPDocに定義したほうがわかりやすいので使わない
# parameter:
# docker compose exec -T backend php artisan openapi:make-parameters $(name)
response:
docker compose exec -T backend php artisan openapi:make-response $(name)
request:
docker compose exec -T backend php artisan openapi:make-requestBody $(name)
schema:
docker compose exec -T backend php artisan openapi:make-schema $(name)
#
# フロントエンド固有のもの
#
dev-f:
docker compose exec frontend pnpm dev
pnpm-dev:
docker compose exec -T frontend pnpm dev
pnpm-build:
docker compose exec -T frontend pnpm build
#
# NLP固有のもの
#
# grpcサーバーの起動
grpc:
docker compose exec nlp python grpc_manager.py
# 自然言語処理走らせる
run-nlp:
docker compose exec -T backend php artisan nlp:runLegacyNLPOperation
black:
# previewは原則導入しない
docker compose exec -T nlp black .
isort:
docker compose exec -T nlp isort .
flake:
docker compose exec -T nlp pflake8 .
mypy:
@make c-n
#
# 開発支援
#
b-log:
sh script/backend_log.sh
tag:
sh script/git_tag.sh
openapi:
sh script/generate_schema.sh
openapi-b:
docker compose exec -T backend php artisan route:cache
docker compose exec -T backend php artisan openapi:generate
adr:
sh script/generate_adr.sh