-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
49 lines (34 loc) · 1.01 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
SHELL=/bin/bash -euo pipefail
.PHONY: build
build: dist
dist: src/**/* pyproject.toml README.md uv.lock
uv lock
rm -rf $@
cd $(@D) && uv build -o dist
.PHONY: docs
docs: \
docs/_build \
docs/_static/badge-coverage.svg \
docs/_static/badge-tests.svg \
docs/requirements.txt \
README.md
docs/_build: \
docs/_static/classes-dark.svg \
docs/_static/classes-default.svg \
docs/usage.md \
docs/**/*.* src/**/*.*
rm -rf $@
cd docs && uv run sphinx-build -b html . _build
docs/requirements.txt: pyproject.toml uv.lock
uv export --only-group docs --no-emit-project > $@
docs/_static/classes-%.svg: docs/classes.mmd
docker compose run --rm mermaid-cli -i docs/classes.mmd -o $@ -I classes-$* -t $* -b transparent
docs/_static/badge-coverage.svg: .tmp/coverage.xml
uv run genbadge coverage --local -i $< -o $@
docs/_static/badge-tests.svg: .tmp/junit.xml
uv run genbadge tests --local -i $< -o $@
docs/usage.md: FORCE
uv run docsub apply -i $@
README.md: docs/usage.md FORCE
uv run docsub apply -i $@
FORCE: