-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
140 lines (95 loc) · 3.41 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
138
139
140
###############################################################################
# See ./CONTRIBUTING.rst
###############################################################################
VERSION=$(shell grep __version__ kongctl/__init__.py)
REQUIREMENTS="requirements-dev.txt"
TAG="\n\n\033[0;32m\#\#\# "
END=" \#\#\# \033[0m\n"
all: test
init: uninstall-kongctl
@echo $(TAG)Installing dev requirements$(END)
pip3 install --upgrade -r $(REQUIREMENTS)
@echo $(TAG)Installing kongctl$(END)
pip3 install --upgrade --editable .
@echo
clean:
@echo $(TAG)Cleaning up$(END)
rm -rf .tox *.egg dist build .coverage .cache .pytest_cache kongctl.egg-info
find . -name '__pycache__' -delete -print -o -name '*.pyc' -delete -print
@echo
###############################################################################
# Testing
###############################################################################
test: init
@echo $(TAG)Running tests on the current Python interpreter with coverage $(END)
echo "TODO"
@echo
# test: init
# @echo $(TAG)Running tests on the current Python interpreter with coverage $(END)
# py.test --cov ./kongctl --cov ./tests --doctest-modules --verbose ./kongctl ./tests
# @echo
# test-all is meant to test everything — even this Makefile
test-all: uninstall-all clean init test-dist pycodestyle # test test-tox
@echo
test-dist: test-sdist test-bdist-wheel
@echo
# test-tox: init
# @echo $(TAG)Running tests on all Pythons via Tox$(END)
# tox
# @echo
test-sdist: clean uninstall-kongctl
@echo $(TAG)Testing sdist build an installation$(END)
python setup.py sdist
pip3 install --force-reinstall --upgrade dist/*.gz
which kongctl
@echo
test-bdist-wheel: clean uninstall-kongctl
@echo $(TAG)Testing wheel build an installation$(END)
python setup.py bdist_wheel
pip3 install --force-reinstall --upgrade dist/*.whl
which kongctl
@echo
pycodestyle:
which pycodestyle || pip install pycodestyle
pycodestyle
@echo
coveralls:
which coveralls || pip install python-coveralls
coveralls
@echo
###############################################################################
# Publishing to PyPi
###############################################################################
publish: test-all publish-no-test
publish-no-test:
@echo $(TAG)Testing wheel build an installation$(END)
@echo "$(VERSION)"
@echo "$(VERSION)" | grep -q "dev" && echo '!!!Not publishing dev version!!!' && exit 1 || echo ok
pip install requests docutils
twine upload dist/*
@echo
###############################################################################
# Uninstalling
###############################################################################
uninstall-kongctl:
@echo $(TAG)Uninstalling kongctl$(END)
- pip uninstall --yes kongctl &2>/dev/null
@echo "Verifying…"
cd .. && ! python -m kongctl --version &2>/dev/null
@echo "Done"
@echo
uninstall-all: uninstall-kongctl
@echo $(TAG)Uninstalling kongctl requirements$(END)
- pip uninstall --yes termcolor requests
@echo $(TAG)Uninstalling development requirements$(END)
- pip uninstall --yes -r $(REQUIREMENTS)
###############################################################################
# Homebrew
###############################################################################
brew-deps:
extras/brew-deps.py
brew-test:
- brew uninstall kongctl
brew install --build-from-source ./extras/kongctl.rb
brew test kongctl
brew audit --strict kongctl