-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
executable file
·74 lines (61 loc) · 2.33 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
name = fbotics
registry = aibotics
user_id = $(shell id -u $(USER))
.PHONY: build
# target: build – build the docker image
build:
docker-compose -f docker-compose.yml build
.PHONY: up
# target: up – setup the whole system with requirements
up: down
LOCAL_USER_ID=$(user_id) docker-compose -f docker-compose.yml up
.PHONY: run
# target: run – go inside the container
run:
LOCAL_USER_ID=$(user_id) docker exec -it fbotics_fbotics_1 bash
.PHONY: down
# target: down – stops and remoces containers
down:
LOCAL_USER_ID=$(user_id) docker-compose -f docker-compose.yml down -v
.PHONY: test
# target: test – execute the tests
test:
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics python -m pytest -vv fbotics/tests
.PHONY: coverage
# target: coverage – execute the coverage
coverage:
LOCAL_USER_ID=$(USER_ID) docker-compose run --user='root' fbotics python -m pytest --cov=fbotics fbotics/tests/
.PHONY: upload_testpypi
# target: upload_testpypi – upload the package to Test Python package index
upload_testpypi: clean
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics python setup.py sdist bdist_wheel
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics twine upload --repository-url https://test.pypi.org/legacy/ dist/*
.PHONY: upload_pypi
# target: upload_pypi – upload the package to Python package index
upload_pypi: clean
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics python setup.py sdist bdist_wheel
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
.PHONY: doc
# target: doc – generate documentation and start local server
doc:
LOCAL_USER_ID=$(USER_ID) docker-compose run -p 8082:8000 -w /usr/src/app/docs fbotics bash -c "python autogen.py & mkdocs serve -f /usr/src/app/docs/mkdocs.yml"
.PHONY: upload_doc
# target: upload_doc – upload the documentation to GitHub Pages
upload_doc:
LOCAL_USER_ID=$(USER_ID) docker-compose run fbotics mkdocs gh-deploy -f docs/mkdocs.yml
.PHONY: clean
# target: clean – clean the project's directory
clean:
@find . \
-name *.py[cod] -exec rm -fv {} + -o \
-name __pycache__ -exec rm -rfv {} +
rm -rf build/
rm -rf dist/
rm -rf fbotics.egg-info
.PHONY: help
# target: help – display all callable targets
help:
@echo
@egrep "^\s*#\s*target\s*:\s*" [Mm]akefile \
| sed -r "s/^\s*#\s*target\s*:\s*//g"
@echo