forked from Sceptre/sceptre
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
130 lines (104 loc) · 3.05 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
.PHONY: clean-pyc clean-build docs clean docs
define BROWSER_PYSCRIPT
import os, webbrowser, sys
try:
from urllib import pathname2url
except:
from urllib.request import pathname2url
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
endef
export BROWSER_PYSCRIPT
BROWSER := python -c "$$BROWSER_PYSCRIPT"
help:
@echo "clean - remove all build, test, coverage and Python artifacts"
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "clean-test - remove test and coverage artifacts"
@echo "lint - check style with flake8"
@echo "test - run tests quickly with the default Python"
@echo "test-all - run tests on every Python version with tox"
@echo "test-integration - run integration tests"
@echo "coverage - check code coverage quickly with the default Python"
@echo "coverage-ci - check code coverage and generate cobertura report"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "dist - package"
@echo "install - install the package to the active Python's site-packages"
clean: clean-build clean-pyc clean-test
clean-build:
rm -fr build/
rm -fr dist/
rm -fr .eggs/
find . -name '*.egg-info' -exec rm -fr {} +
find . -name '*.egg' -exec rm -f {} +
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
clean-test:
rm -fr .tox/
rm -fr .cache/
rm -f .coverage
rm -fr htmlcov/
rm -f test-results.xml
lint:
flake8 sceptre tests
test:
python setup.py test
test-all:
tox
test-integration: install
behave integration-tests/
coverage:
coverage run --source sceptre setup.py test
coverage report -m
coverage html
$(BROWSER) htmlcov/index.html
coverage-ci:
coverage run --source sceptre setup.py test
coverage report -m
coverage xml
docs:
rm -f docs/sceptre.rst
rm -f docs/modules.rst
sphinx-apidoc -o docs/ sceptre
$(MAKE) -C docs clean
$(MAKE) -C docs html
$(BROWSER) docs/_build/html/index.html
servedocs: docs
watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D .
docs-api:
rm -f docs/_api/sceptre.rst
rm -f docs/_api/modules.rst
sphinx-apidoc -o docs/_api sceptre
$(MAKE) -C docs/_api clean
$(MAKE) -C docs/_api html
rm -rf docs/docs/api/
cp -r docs/_api/_build/html docs/docs/
mv docs/docs/html docs/docs/api
docs-latest: docs-api
$(MAKE) -C docs build-latest
docs-tag: docs-api
$(MAKE) -C docs build-tag
docs-dev: docs-api
$(MAKE) -C docs build-dev
docs-commit: docs-api
$(MAKE) -C docs build-commit
serve-docs-latest: docs-latest
$(MAKE) -C docs serve-latest
serve-docs-tag: docs-tag
$(MAKE) -C docs serve-tag
serve-docs-dev: docs-dev
$(MAKE) -C docs serve-dev
serve-docs-commit: docs-commit
$(MAKE) -C docs serve-commit
dist: clean
python setup.py sdist
python setup.py bdist_wheel
ls -l dist
install: clean
python setup.py install
install-dev: clean
pip install -r requirements_dev.txt
pip install -r requirements_tests.txt
@echo "To install the documentation dependencies, run:\ncd docs\nmake install"