-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (52 loc) · 2.13 KB
/
Makefile
File metadata and controls
64 lines (52 loc) · 2.13 KB
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
DJANGO_SETTINGS_MODULE ?= munch.settings
default:
@echo "Must call a specific subcommand"
@exit 1
.assert-no-production:
ifeq ("$(DJANGO_SETTINGS_MODULE)", "munch.settings.production")
echo "!! Cannot run this command in production environment"
exit 1
endif
init_dev: .assert-no-production
pip install -e .[dev,test] --process-dependency-links
docker-compose up -d
ifneq ($(wildcard "./src/munch/settings/local.py"),)
cp ./src/munch/settings/local.dist.py ./src/munch/settings/local.py
endif
DJANGO_SETTINGS_MODULE=$(DJANGO_SETTINGS_MODULE) django-admin migrate
DJANGO_SETTINGS_MODULE=$(DJANGO_SETTINGS_MODULE) django-admin loaddata dev
@echo ""
@echo " :: Default users"
@echo " - superadmin@example.com / password (django admin)"
@echo " - admin@example.com / password (admin)"
@echo " - manager@example.com / password (manager)"
@echo " - user@example.com / password (user)"
@echo ""
@echo " :: Documentation can be found in *docs* directory"
@echo " :: To build and open it: make build_docs && make open_docs"
reset_mq: .assert-no-production
docker-compose exec rabbitmq rabbitmqctl stop_app
docker-compose exec rabbitmq rabbitmqctl reset
docker-compose exec rabbitmq rabbitmqctl start_app
reset_cache: .assert-no-production
@echo "Purging cache..."
docker-compose exec redis redis-cli flushall
reset_db: .assert-no-production
@echo "Dropping database..."
docker-compose exec postgres dropdb -U munch munch
@echo "Creating database..."
docker-compose exec postgres createdb -U munch munch
load_data: .assert-no-production
@echo "Loading data..."
DJANGO_SETTINGS_MODULE=$(DJANGO_SETTINGS_MODULE) django-admin migrate
DJANGO_SETTINGS_MODULE=$(DJANGO_SETTINGS_MODULE) django-admin loaddata dev
reset_app: .assert-no-production reset_mq reset_cache reset_db load_data
serve_docs: .assert-no-production
cd docs && mkdocs serve
test:
munch django test munch --settings=munch.settings.test
release:
@echo "Releasing \"`python -c 'from munch import __version__ as v;print(v)'`\" on Pypi in 5 seconds..."
@sleep 5
python setup.py sdist bdist_wheel upload
.PHONY: init_dev reset_app serve_docs test release