forked from databand-ai/dbnd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
154 lines (118 loc) · 3.84 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
145
146
147
148
149
150
151
152
153
154
.PHONY: clean-pyc clean-build docs clean docs-open coverage coverage-open install-dev clean-egg pre-commit
prj_modules = modules/dbnd modules/dbnd-airflow
prj_plugins_spark = plugins/dbnd-spark \
plugins/dbnd-databricks \
plugins/dbnd-qubole \
prj_plugins = plugins/dbnd-aws \
plugins/dbnd-azure \
plugins/dbnd-airflow-export \
plugins/dbnd-airflow-auto-tracking \
plugins/dbnd-airflow-versioned-dag \
plugins/dbnd-airflow-operator \
plugins/dbnd-databricks \
plugins/dbnd-docker \
plugins/dbnd-hdfs \
plugins/dbnd-gcp \
plugins/dbnd-mlflow \
plugins/dbnd-tensorflow \
plugins/dbnd-postgres \
plugins/dbnd-redshift \
plugins/dbnd-test-scenarios \
plugins/dbnd-luigi
prj_dist = $(prj_modules) $(prj_plugins) $(prj_plugins_spark)
prj_examples = examples
prj_test = plugins/dbnd-test-scenarios
prj_dev_modules_plugins =$(prj_modules) $(prj_plugins) $(prj_examples)
prj_dev = $(prj_dev_modules_plugins) $(prj_test)
help:
@echo "clean - remove all build, test, coverage and Python artifacts"
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "clean-test - remove test and coverage artifacts"
@echo "lint - check style with flake8"
@echo "test - run tests quickly with the default Python"
@echo "test-all - run tests on every Python version with tox"
@echo "test-gitlab-ci - test gitlab ci/cd yaml"
@echo "coverage - check code coverage quickly with the default Python"
@echo "pre-commit - run pre-commit checks"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "docs-open - docs + open documentation in default browser"
@echo "release - package and upload a release"
@echo "dist - package"
@echo "install-site-packages - install the package to the active Python's site-packages"
@echo "install-dev - install all modules in editable mode to the active Python's site-packages"
@echo "build-modules - build all modules"
clean: clean-build clean-pyc clean-test
clean-build:
rm -fr build/
rm -fr dist/
rm -fr .eggs/
find . -name '*.egg-info' -exec rm -fr {} +
find . -name '*.egg' -exec rm -f {} +
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
clean-egg:
find . -name '*.egg-info' -exec rm -fr {} +
clean-test:
rm -fr .tox/
rm -f .coverage
rm -fr htmlcov/
lint:
tox -e pre-commit,lint
test:
py.test modules/dbnd/test_dbnd
tox -e pre-commit,lint
test-all-py36:
for m in $(prj_dev_modules_plugins) ; do \
echo "Testing '$$m'..." ;\
(cd $$m && tox -e py36) ;\
done
test-gitlab-ci:
python etc/scripts/validate_gitlab_ci_yml.py --file ./.gitlab-ci.yml
test-manifest:
mkdir -p dist
for m in $(prj_dist) ; do \
echo "Building '$$m'..." ;\
(cd $$m && tox -e manifest) ;\
done
coverage:
py.test --cov-report=html --cov=databand tests
coverage-open: coverage
$(BROWSER) htmlcov/index.html
pre-commit:
tox -e pre-commit
docs:
tox -e docs
docs-open: docs
$(BROWSER) docs/_build/html/index.html
servedocs: docs
watchmedo shell-command -p '*.md' -c '$(MAKE) -C docs html' -R -D .
dist: clean
python setup.py sdist
python setup.py bdist_wheel
ls -l dist
release: dist
twine upload -r databand dist/*
dist-modules-dirty:
mkdir -p dist
python setup.py sdist bdist_wheel
for m in $(prj_dist) ; do \
echo "Building '$$m'..." ;\
(cd $$m && python setup.py sdist bdist_wheel) ;\
mv $$m/dist/* dist;\
done
ls -l dist
dist-modules: clean dist-modules-dirty
install-dev:
for m in $(prj_dev) ; do \
echo "Installing '$$m'..." ;\
(cd $$m && pip install -e .) ;\
done
install-dev-spark: install-dev
for m in $(prj_plugins_spark) ; do \
echo "Installing '$$m'..." ;\
(cd $$m && pip install -e .) ;\
done