This repository has been archived by the owner on Mar 28, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathMakefile
104 lines (83 loc) · 2.66 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
.PHONY: clean
# Project settings
PROJECT = lensesio
# Virtual environment settings
ENV ?= venv
IS_VENV = $(shell python -c "import sys; print(int(hasattr(sys, 'real_prefix')));")
# Determine if Python is running inside virtualenv
ifeq ($(IS_VENV),1)
FLAKE8 = flake8
TOX = tox
else
FLAKE8 = $(ENV)/bin/flake8
TOX = $(ENV)/bin/tox
endif
# Directories
DIST_DIR = ./dist
TOX_DIR = ./.tox
CLEAN_DIRS = ./$(PROJECT) $(ENV) $(shell [ -d $(TOX_DIR) ] && echo $(TOX_DIR) || :)
REQUIREMENTS = -r requirements-dev.txt
all: install
clean:
@python3 setup.py clean
decrypt_license:
@if [ ! -e _resources/lenses-kerberos/license.json ]; then \
echo "Decrypting license..."; \
gpg --quiet --batch --yes --decrypt --passphrase="${DECRYPT_PSK}" \
--output _resources/lenses-kerberos/license.json license.json.gpg; \
fi
docker: decrypt_license
@docker-compose -f _resources/lenses-kerberos/kerberos.yaml build
@docker-compose -f _resources/lenses-kerberos/kerberos.yaml down
@rm -rf _resources/lenses-kerberos/local
@mkdir -vp _resources/lenses-kerberos/local
@docker-compose -f _resources/lenses-kerberos/kerberos.yaml up -d
@if [ ! -e _resources/lenses-kerberos/license.json ]; then \
echo "Licese is missing."; \
exit 1; \
fi
@echo waiting 20 seconds before starting lenses
@sleep 20
@if docker ps -a | grep -q lenses-box; then \
echo "Lenses box is already running!"; \
echo "Shutting down lenses-box"; \
docker-compose -f _resources/lenses-kerberos/lenses-box.yaml down && sleep 10; \
fi
@docker-compose -f _resources/lenses-kerberos/lenses-box.yaml up -d
docker_clean:
@docker-compose -f _resources/lenses-kerberos/kerberos.yaml down
@docker-compose -f _resources/lenses-kerberos/lenses-box.yaml down
@rm -rf _resources/lenses-kerberos/local
build_py:
@python3 setup.py sdist bdist_wheel
install:
@if [ -e dist/lensesio-4.0.1-py3-none-any.whl ]; then \
pip install dist/lensesio-4.0.1-py3-none-any.whl; \
else \
echo "No dist package found, please run make build_py first, to build the package"; \
fi
test_install: virtenv
@./venv/bin/pip3 install -U setuptools
@./venv/bin/python3 setup.py sdist bdist_wheel
@./venv/bin/pip3 install -U dist/lensesio-4.0.1-py3-none-any.whl
mkvirtenv:
@if [ ! -e venv ]; then \
python3 -m virtualenv -p $(shell which python3) venv; \
. venv/bin/activate ;\
./venv/bin/pip3 install -Ur requirements-dev.txt ; \
fi
rmvirtenv:
@if command -v deactivate; then \
deactivate; \
fi
@rm -rf venv
virtenv: mkvirtenv
@. venv/bin/activate ;
@pip -V
pep8: virtenv
@$(FLAKE8) --statistics ./$(PROJECT)/ setup.py
test: virtenv .wait-lenses
@${TOX}
.wait-lenses:
@echo "WAITING LENSES..."
@./tests/wait-for-lenses-box.sh 30