forked from Aiven-Open/karapace
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGNUmakefile
More file actions
77 lines (65 loc) · 1.63 KB
/
Copy pathGNUmakefile
File metadata and controls
77 lines (65 loc) · 1.63 KB
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
VENV_DIR ?= $(CURDIR)/venv
PIP ?= pip3 --disable-pip-version-check --no-input --require-virtualenv
PYTHON ?= python3
ifdef CI
PYENV ?= $(PYTHON)
else
PYENV ?= pyenv exec python
endif
PYTHON_VERSION ?= 3.8
export PATH := $(VENV_DIR)/bin:$(PATH)
export PS4 := \e[0m\e[32m==> \e[0m
export LC_ALL := C
MAKEFLAGS += --warn-undefined-variables
MAKEFLAGS += --no-builtin-rules
SHELL := bash
.SHELLFLAGS := -euxo pipefail -O globstar -c
.ONESHELL:
.SILENT:
.SUFFIXES:
.PHONY: all
all: version
.PHONY: venv
venv: venv/.make
venv/.make:
rm -fr '$(VENV_DIR)'
$(PYENV) -m venv '$(VENV_DIR)'
$(PIP) install --upgrade pip
touch '$(@)'
.PHONY: install
install: venv/.deps
venv/.deps: requirements-dev.txt requirements.txt | venv/.make
set +x
source ./bin/get-java
source ./bin/get-protoc
source ./bin/get-snappy
set -x
$(PIP) install -r '$(<)' --use-pep517
touch '$(@)'
.PHONY: version
version: karapace/version.py
karapace/version.py: version.py | venv/.make
$(PYTHON) '$(<)' '$(@)'
.PHONY: test
tests: unit-tests integration-tests
.PHONY: unit-tests
unit-tests: export PYTEST_ARGS ?=
unit-tests: karapace/version.py venv/.deps
rm -fr runtime/*
$(PYTHON) -m pytest -s -vvv $(PYTEST_ARGS) tests/unit/
rm -fr runtime/*
.PHONY: integration-tests
unit-tests: export PYTEST_ARGS ?=
integration-tests: karapace/version.py venv/.deps
rm -fr runtime/*
$(PYTHON) -m pytest -s -vvv $(PYTEST_ARGS) tests/integration/
rm -fr runtime/*
.PHONY: clean
clean:
rm -fr ./kafka_* ./*.egg-info/ ./dist/ ./karapace/version.py
.PHONY: cleaner
cleaner: clean
rm -fr ./.*cache*/
.PHONY: cleanest
cleanest: cleaner
rm -fr '$(VENV_DIR)'