-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
55 lines (44 loc) · 1.15 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
VENV=$(CURDIR)/venv
BIN=$(VENV)/bin
PYTHON=$(BIN)/python
PIP=$(BIN)/pip
VAPID=$(BIN)/vapid
PORT=5000
HEROKU=. $(BIN)/activate && heroku local
HEROKU_FLAGS=-f Procfile.dev -e .env -p $(PORT)
.PHONY: install initial-migrates load-data
$(VENV): requirements.txt
python3 -m venv $(VENV)
$(PIP) install -r requirements.txt
initial-migrates: $(VENV)
# Migrate the django built-in apps
export ONLY_DJANGO_APPS="True" && $(PYTHON) manage.py migrate
# Migrate the rest of the apps
$(PYTHON) manage.py makemigrations
$(PYTHON) manage.py migrate
load-data: initial-migrates
# Load the RDF object mapping
$(PYTHON) manage.py loaddata data/contenttypes.json
$(PYTHON) manage.py loaddata data/rdf_io.json
install: $(VENV) load-data
.PHONY: webpush-gen scrap server app
webpush-gen:
$(VAPID) --gen
$(VAPID) --applicationServerKey
scrap:
$(HEROKU) scrap $(HEROKU_FLAGS)
server:
$(HEROKU) web $(HEROKU_FLAGS)
app:
$(HEROKU) web,scheduler $(HEROKU_FLAGS)
.PHONY: clean
clean:
# Database
find -name "db.sqlite3" -delete
# Webpush keys
find -name "*.pem" -delete
# Cache
find -name "*.pyc" -delete
find -name "__pycache__" -delete
# Enviroment
rm -rf $(VENV)