1SHELL := /bin/bash
2
3# SET UP
4# install software dependencies
5
6deps:
7	pip install --upgrade \
8	            -r requirements/development.txt \
9	            -r requirements/production.txt
10
11# BUILD
12# build and release packages
13
14sdist:
15	python setup.py sdist
16
17register:
18	python setup.py register
19
20# DOCUMENTATION
21# build user documentation
22
23site:
24	cd docs; make html
25
26docs: site
27
28# TESTING
29# unit tests, coverage testing and static type checking
30
31coverage:
32	coverage report --show-missing --include="magic*"
33
34lint:
35	flake8 --exit-zero magic tests
36
37test:
38	coverage run setup.py test
39
40unittest:
41	coverage run -m unittest discover
42
43# CLEAN
44# remove build artifacts
45
46clean:
47	python setup.py clean --all
48	find . -type f -name "*.pyc" -exec rm '{}' +
49	find . -type d -name "__pycache__" -exec rmdir '{}' +
50	rm -rf *.egg-info .coverage
51	cd docs; make clean
52