forked from Sceptre/sceptre
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
137 lines (109 loc) · 3.26 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
131
132
133
134
135
136
137
.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 "dist - package"
@echo "install - install the package to the active Python's site-packages"
@echo "install-dev - install the test requirements to the active Python's site-packages"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo ""
@ $(MAKE) -C docs help
clean: clean-build clean-pyc clean-test docs-clean
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 .
test:
pytest --junitxml=test-results/junit.xml
test-all:
tox
test-integration: install
behave integration-tests/
coverage-all:
coverage erase
coverage run --source sceptre -m pytest
coverage xml
coverage: coverage-all
coverage report --show-missing --fail-under 92
sonar:
@sonar-scanner \
-Dsonar.projectKey=Sceptre_${CIRCLE_PROJECT_REPONAME} \
-Dsonar.organization=sceptre \
-Dsonar.projectName=${CIRCLE_PROJECT_REPONAME} \
-Dsonar.pullrequest.provider=GitHub\
-Dsonar.branch.name=${CIRCLE_BRANCH}\
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=${SONAR_LOGIN}
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
docs-latest:
$(MAKE) -C docs build-latest
docs-build-tag:
$(MAKE) -C docs build-tag
docs-build-dev:
$(MAKE) -C docs build-dev
docs-build-commit:
$(MAKE) -C docs build-commit
docs-serve-latest:
$(MAKE) -C docs serve-latest
docs-serve-tag:
$(MAKE) -C docs serve-tag
docs-serve-dev:
$(MAKE) -C docs serve-dev
docs-serve-commit: docs-commit
$(MAKE) -C docs serve-commit
docs-install:
$(MAKE) -C docs install
docs-clean:
$(MAKE) -C docs clean
dist: clean
python setup.py sdist
python setup.py bdist_wheel
twine check dist/*
ls -l dist
install: clean
pip install .
install-dev: clean
pip install -r requirements/prod.txt
pip install -r requirements/dev.txt
pip install -e .
@echo "To install the documentation dependencies, run:\ncd docs\nmake install"