-
-
Notifications
You must be signed in to change notification settings - Fork 42
/
Makefile
66 lines (47 loc) · 1.49 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
export PYTHON ?= python3
COVERAGE ?= $(PYTHON) -m coverage
COVERAGE_RUN_OPTIONS ?=
COVERAGE_RUN ?= $(COVERAGE) run $(COVERAGE_RUN_OPTIONS)
TESTSUITE = xandikos.tests.test_suite
LITMUS_TESTS ?= basic http
CALDAVTESTER_TESTS ?= CalDAV/delete.xml \
CalDAV/options.xml \
CalDAV/vtodos.xml
XANDIKOS_COVERAGE ?= $(COVERAGE_RUN) -a --rcfile=$(shell pwd)/.coveragerc --source=xandikos -m xandikos.web
check:
$(PYTHON) -m unittest $(TESTSUITE)
style:
$(PYTHON) -m ruff check .
typing:
$(PYTHON) -m mypy xandikos
web:
$(PYTHON) -m xandikos.web
check-litmus-all:
./compat/xandikos-litmus.sh "basic copymove http props locks"
check-litmus:
./compat/xandikos-litmus.sh "${LITMUS_TESTS}"
check-pycaldav:
./compat/xandikos-pycaldav.sh
coverage-pycaldav:
XANDIKOS="$(XANDIKOS_COVERAGE)" ./compat/xandikos-pycaldav.sh
coverage-litmus:
XANDIKOS="$(XANDIKOS_COVERAGE)" ./compat/xandikos-litmus.sh "${LITMUS_TESTS}"
check-vdirsyncer:
./compat/xandikos-vdirsyncer.sh
coverage-vdirsyncer:
XANDIKOS="$(XANDIKOS_COVERAGE)" ./compat/xandikos-vdirsyncer.sh
check-all: check check-vdirsyncer check-litmus check-pycaldav style
coverage-all: coverage coverage-litmus coverage-vdirsyncer
coverage:
$(COVERAGE_RUN) --source=xandikos -m unittest $(TESTSUITE)
coverage-html: coverage
$(COVERAGE) html
docs:
$(MAKE) -C docs html
.PHONY: docs
docker:
buildah build -t jvernooij/xandikos -t ghcr.io/jelmer/xandikos .
buildah push jvernooij/xandikos
buildah push ghcr.io/jelmer/xandikos
reformat:
ruff format .