dashboard/Makefile

46 lines
1.3 KiB
Makefile

define run_migrations ## run migrations
@ . ./venv/bin/activate && python manage.py makemigrations
@ . ./venv/bin/activate && python manage.py migrate
endef
define unimplemented
@echo "ERROR: Unimplemented!" && echo -1.
endef
default: ## Run app
$(call run_migrations)
. ./venv/bin/activate && python manage.py runserver
coverage: ## Generate test coverage report
. ./venv/bin/activate && coverage run manage.py test
. ./venv/bin/activate && coverage report -m
. ./venv/bin/activate && coverage html
doc: ## Generates documentation
$(call unimplemented)
docker: ## Build Docker image from source
$(call unimplemented)
env: ## Install all dependencies
@-virtualenv venv
. ./venv/bin/activate && pip install -r requirements.txt
freeze: ## Freeze python dependencies
@. ./venv/bin/activate && pip freeze > requirements.txt
help: ## Prints help for targets with comments
@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
lint: ## Run linter
@./venv/bin/black ./dashboard/*
@./venv/bin/black ./accounts/*
@./venv/bin/black ./dash/*
@./venv/bin/black ./support/*
migrate: ## Run migrations
$(call run_migrations)
test: ## Run tests
@. ./venv/bin/activate && python manage.py test --parallel