-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
60 lines (48 loc) · 1.78 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
all: test
uninstall:
pip freeze | grep -v "^-e" | xargs pip uninstall -y
clean:
rm -rf build dist
find . -name '*.pyc' -exec rm \{\} \;
deps:
pip install --upgrade pip build twine
install: deps
@# Install OpenFisca-Tunisia for development.
@# `make install` installs the editable version of OpenFisca-Tunisia.
@# This allows contributors to test as they code.
pip install --editable .[dev] --upgrade
pip install openfisca-core[web-api]
build: clean deps
@# Install OpenFisca-Tunisia for deployment and publishing.
@# `make build` allows us to be be sure tests are run against the packaged version
@# of OpenFisca-Tunisia, the same we put in the hands of users and reusers.
python -m build
pip uninstall --yes openfisca-tunisia
find dist -name "*.whl" -exec pip install {}[dev] \;
pip install openfisca-core[web-api]
check-syntax-errors:
python -m compileall -q .
format-style:
@# Do not analyse .gitignored files.
@# `make` needs `$$` to output `$`. Ref: http://stackoverflow.com/questions/2382764.
autopep8 `git ls-files | grep "\.py$$"`
check-style:
@# Do not analyse .gitignored files.
@# `make` needs `$$` to output `$`. Ref: http://stackoverflow.com/questions/2382764.
flake8 `git ls-files | grep "\.py$$"`
check-path-length:
@# Verify that there is no path exceeding Windows limit
python openfisca_tunisia/scripts/check_path_length.py
check-yaml:
@# check yaml style
.github/lint-changed-yaml-tests.sh
check-all-yaml:
@# check yaml style
yamllint openfisca_tunisia/parameters
yamllint tests
test: clean check-syntax-errors check-style
@# before parsing source files containing formulas.
@echo "> Yaml tests..."
openfisca test --country-package openfisca_tunisia tests
@# @echo "> Notebooks tests..."
@# python openfisca_tunisia/notebooks/test_notebooks.py notebooks/