-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
97 lines (73 loc) · 2.5 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
# simple makefile to simplify repetitive build env management tasks under posix
# caution: testing won't work on windows, see README
PYTHON ?= python
PYTESTS ?= pytest
CODESPELL_SKIPS ?= "docs/auto_*,*.fif,*.eve,*.gz,*.tgz,*.zip,*.mat,*.stc,*.label,*.w,*.bz2,*.annot,*.sulc,*.log,*.local-copy,*.orig_avg,*.inflated_avg,*.gii,*.pyc,*.doctree,*.pickle,*.inv,*.png,*.edf,*.touch,*.thickness,*.nofix,*.volume,*.defect_borders,*.mgh,lh.*,rh.*,COR-*,FreeSurferColorLUT.txt,*.examples,.xdebug_mris_calc,bad.segments,BadChannels,*.hist,empty_file,*.orig,*.js,*.map,*.ipynb,searchindex.dat,install_mne_c.rst,plot_*.rst,*.rst.txt,c_EULA.rst*,*.html,gdf_encodes.txt,*.svg"
CODESPELL_DIRS ?= oblique_forests/ docs/ examples/ tests/
all: clean inplace test
clean-so:
find . -name "*.so" | xargs rm -f
find . -name "*.pyd" | xargs rm -f
clean-build:
$(PYTHON) setup.py clean
rm -rf _build
rm -rf _build
rm -rf dist
rm -rf oblique_forests.egg-info
clean-ctags:
rm -f tags
clean: clean-build clean-so clean-ctags
inplace:
$(PYTHON) setup.py develop
test-coverage:
rm -rf coverage .coverage
$(PYTESTS) --cov=oblique_forests --cov-report html:coverage
check-manifest:
check-manifest --ignore .circleci/*,docs,.DS_Store
reqs:
pipfile2req --dev > test_requirements.txt
pipfile2req > requirements.txt
pipfile2req > docs/requirements.txt
pipfile2req --dev >> docs/requirements.txt
flake:
@if command -v flake8 > /dev/null; then \
echo "Running flake8"; \
flake8 --count oblique_forests examples tests; \
else \
echo "flake8 not found, please install it!"; \
exit 1; \
fi;
@echo "flake8 passed"
pydocstyle:
@echo "Running pydocstyle"
@pydocstyle
codespell: # running manually
@codespell -w -i 3 -q 3 -S $(CODESPELL_SKIPS) --ignore-words=ignore_words.txt $(CODESPELL_DIRS)
codespell-error: # running on travis
@echo "Running code-spell check"
@codespell -i 0 -q 7 -S $(CODESPELL_SKIPS) --ignore-words=ignore_words.txt $(CODESPELL_DIRS)
type-check:
mypy ./oblique_forests
pep:
@$(MAKE) -k black pydocstyle check-manifest codespell-error
#type-check
black:
@if command -v black > /dev/null; then \
echo "Running black"; \
black --check oblique_forests; \
black oblique_forests/*; \
else \
echo "black not found, please install it!"; \
exit 1; \
fi;
@echo "black passed"
build-dev:
pip install --verbose --no-build-isolation --editable .
build-doc:
cd docs; make clean
cd docs; make html
build-pipy:
python setup.py sdist bdist_wheel
test-pipy:
twine check dist/*
twine upload --repository testpypi dist/*