forked from nedbat/coveragepy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
137 lines (103 loc) · 3.8 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
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
# Makefile for utility work on coverage.py.
default:
@echo "* No default action *"
clean:
-pip uninstall -y coverage
-rm -f *.pyd */*.pyd
-rm -f *.so */*.so
-rm -rf build coverage.egg-info dist htmlcov
-rm -rf __pycache__ */__pycache__ */*/__pycache__ */*/*/__pycache__ */*/*/*/__pycache__ */*/*/*/*/__pycache__
-rm -f *.pyc */*.pyc */*/*.pyc */*/*/*.pyc */*/*/*/*.pyc */*/*/*/*/*.pyc
-rm -f *.pyo */*.pyo */*/*.pyo */*/*/*.pyo */*/*/*/*.pyo */*/*/*/*/*.pyo
-rm -f *.bak */*.bak */*/*.bak */*/*/*.bak */*/*/*/*.bak */*/*/*/*/*.bak
-rm -f *$$py.class */*$$py.class */*/*$$py.class */*/*/*$$py.class */*/*/*/*$$py.class */*/*/*/*/*$$py.class
-rm -f coverage/*,cover
-rm -f MANIFEST
-rm -f .coverage .coverage.* coverage.xml .metacov*
-rm -f .tox/*/lib/*/site-packages/zzz_metacov.pth
-rm -f */.coverage */*/.coverage */*/*/.coverage */*/*/*/.coverage */*/*/*/*/.coverage */*/*/*/*/*/.coverage
-rm -f tests/zipmods.zip
-rm -rf tests/eggsrc/build tests/eggsrc/dist tests/eggsrc/*.egg-info
-rm -f setuptools-*.egg distribute-*.egg distribute-*.tar.gz
-rm -rf doc/_build doc/_spell doc/sample_html_beta
-rm -rf .tox_kits
-rm -rf .cache .pytest_cache
-rm -rf $$TMPDIR/coverage_test
sterile: clean
-rm -rf .tox*
-docker image rm -f quay.io/pypa/manylinux1_i686 quay.io/pypa/manylinux1_x86_64
LINTABLE = coverage tests igor.py setup.py __main__.py
lint:
tox -e lint
todo:
-grep -R --include=*.py TODO $(LINTABLE)
pep8:
pycodestyle --filename=*.py --repeat $(LINTABLE)
test:
tox -e py27,py35 $(ARGS)
PYTEST_SMOKE_ARGS = -n 6 -m "not expensive" --maxfail=3 $(ARGS)
smoke:
# Run tests with the C tracer in the lowest supported Python versions.
COVERAGE_NO_PYTRACER=1 tox -q -e py27,py35 -- $(PYTEST_SMOKE_ARGS)
pysmoke:
# Run tests with the Python tracer in the lowest supported Python versions.
COVERAGE_NO_CTRACER=1 tox -q -e py27,py35 -- $(PYTEST_SMOKE_ARGS)
metacov:
COVERAGE_COVERAGE=yes tox $(ARGS)
metahtml:
python igor.py combine_html
# Kitting
kit:
python setup.py sdist
wheel:
tox -c tox_wheels.ini $(ARGS)
manylinux:
docker run -it --init --rm -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/ci/manylinux.sh build
docker run -it --init --rm -v `pwd`:/io quay.io/pypa/manylinux1_i686 /io/ci/manylinux.sh build
kit_upload:
twine upload dist/*
test_upload:
twine upload --repository testpypi dist/*
kit_local:
# pip.conf looks like this:
# [global]
# find-links = file:///Users/ned/Downloads/local_pypi
cp -v dist/* `awk -F "//" '/find-links/ {print $$2}' ~/.pip/pip.conf`
# pip caches wheels of things it has installed. Clean them out so we
# don't go crazy trying to figure out why our new code isn't installing.
find ~/Library/Caches/pip/wheels -name 'coverage-*' -delete
download_appveyor:
python ci/download_appveyor.py nedbat/coveragepy
build_ext:
python setup.py build_ext
install:
python setup.py install
uninstall:
-rm -rf $(PYHOME)/lib/site-packages/coverage*
-rm -rf $(PYHOME)/scripts/coverage*
# Documentation
SPHINXBUILD = sphinx-build
SPHINXOPTS = -a -E doc
WEBHOME = ~/web/stellated/
WEBSAMPLE = $(WEBHOME)/files/sample_coverage_html
WEBSAMPLEBETA = $(WEBHOME)/files/sample_coverage_html_beta
docreqs:
pip install -r doc/requirements.pip
dochtml:
PYTHONPATH=$(CURDIR) $(SPHINXBUILD) -b html $(SPHINXOPTS) doc/_build/html
@echo
@echo "Build finished. The HTML pages are in doc/_build/html."
docspell:
$(SPHINXBUILD) -b spelling $(SPHINXOPTS) doc/_spell
publish:
rm -f $(WEBSAMPLE)/*.*
mkdir -p $(WEBSAMPLE)
cp doc/sample_html/*.* $(WEBSAMPLE)
publishbeta:
rm -f $(WEBSAMPLEBETA)/*.*
mkdir -p $(WEBSAMPLEBETA)
cp doc/sample_html_beta/*.* $(WEBSAMPLEBETA)
upload_relnotes:
python ci/upload_relnotes.py CHANGES.rst pypi/coverage