-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
144 lines (121 loc) · 3.28 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
141
142
143
144
# IMPORTANT: for compatibility with `python setup.py make [alias]`, ensure:
# 1. Every alias is preceded by @[+]make (eg: @make alias)
# 2. A maximum of one @make alias or command per line
#
# Sample makefile compatible with `python setup.py make`:
#```
#all:
# @make test
# @make install
#test:
# nosetest
#install:
# python setup.py install
#```
.PHONY:
alltests
all
flake8
test
testnose
testsetup
testcoverage
testperf
testtimer
distclean
coverclean
prebuildclean
clean
installdev
install
build
pypi
none
help:
@python setup.py make
alltests:
@+make testcoverage
@+make testperf
@+make flake8
@+make testsetup
all:
@+make alltests
@+make build
flake8:
@+flake8 --max-line-length=80 --exclude .asv,.tox,.ipynb_checkpoints \
-j 8 --count --statistics --exit-zero .
test:
tox --skip-missing-interpreters
testnose:
nosetests tqdm -d -v
testsetup:
python setup.py check --restructuredtext --strict
python setup.py make none
testcoverage:
@make coverclean
nosetests tqdm --with-coverage --cover-package=tqdm --cover-erase --cover-min-percentage=80 --ignore-files="tests_perf\.py" -d -v
testperf:
# do not use coverage (which is extremely slow)
nosetests tqdm/tests/tests_perf.py -d -v
testtimer:
nosetests tqdm --with-timer -d -v
# another performance test, to check evolution across commits
testasv:
# Test only the last 3 commits (quick test)
asv run -j 8 HEAD~3..HEAD
@make viewasv
testasvfull:
# Test all the commits since the beginning (full test)
asv run -j 8 v1.0.0..master
@make testasv
viewasv:
asv publish
asv preview
tqdm/tqdm.1: .tqdm.1.md
python -m tqdm --help | tail -n+5 |\
sed -r -e 's/\\/\\\\/g' \
-e 's/^ (--.*)=<(.*)> : (.*)$$/\n\\\1=*\2*\n: \3./' \
-e 's/ (-.*, )(--.*) /\n\1\\\2\n: /' |\
cat "$<" - |\
pandoc -o "$@" -s -t man
distclean:
@+make coverclean
@+make prebuildclean
@+make clean
prebuildclean:
@+python -c "import shutil; shutil.rmtree('build', True)"
@+python -c "import shutil; shutil.rmtree('dist', True)"
@+python -c "import shutil; shutil.rmtree('tqdm.egg-info', True)"
coverclean:
@+python -c "import os; os.remove('.coverage') if os.path.exists('.coverage') else None"
@+python -c "import shutil; shutil.rmtree('tqdm/__pycache__', True)"
@+python -c "import shutil; shutil.rmtree('tqdm/tests/__pycache__', True)"
clean:
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/tests/*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/examples/*.py[co]')]"
toxclean:
@+python -c "import shutil; shutil.rmtree('.tox', True)"
installdev:
python setup.py develop --uninstall
python setup.py develop
submodules:
git clone git@github.com:tqdm/tqdm.wiki wiki
git clone git@github.com:tqdm/tqdm.github.io docs
git clone git@github.com:conda-forge/tqdm-feedstock feedstock
cd feedstock && git remote add autotick-bot git@github.com:regro-cf-autotick-bot/tqdm-feedstock
install:
python setup.py install
build:
@make prebuildclean
python setup.py sdist bdist_wheel
# python setup.py bdist_wininst
pypi:
twine upload dist/*
buildupload:
@make testsetup
@make build
@make pypi
none:
# used for unit testing