-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathMakefile
More file actions
149 lines (125 loc) · 3.13 KB
/
Makefile
File metadata and controls
149 lines (125 loc) · 3.13 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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
help:
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "lint - check style with ruff check"
@echo "test - run tests"
@echo "coverage - check code coverage quickly with the default Python"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "dist - package"
@echo "tag - set a tag with the current version number"
@echo "release-check - check release tag"
.PHONY: clean
clean: clean-build clean-pyc
rm -rf htmlcov/
rm -rf venv .venv
.PHONY: clean-build
clean-build:
rm -fr build/
rm -fr dist/
.PHONY: clean-pyc
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name "__pycache__" -type d -delete
clean-docs:
rm -rf docs/_build
rm -f docs/iommi.rst
rm -f docs/lib.iommi.rst
rm -f docs/lib.rst
rm -f docs/Table.rst
rm -f docs/Column.rst
rm -f docs/Query.rst
rm -f docs/Filter.rst
rm -f docs/Form.rst
rm -f docs/Field.rst
rm -f docs/Action.rst
rm -f docs/Link.rst
rm -f docs/Endpoint.rst
rm -f docs/Members.rst
rm -f docs/Menu.rst
rm -f docs/MenuItem.rst
rm -f docs/Part.rst
rm -f docs/Page.rst
rm -f docs/Traversable.rst
rm -f docs/Fragment.rst
rm -f docs/Attrs.rst
rm -f docs/Cell.rst
rm -f docs/ColumnHeader.rst
rm -f docs/Header.rst
rm -f docs/HeaderConfig.rst
rm -f docs/Container.rst
rm -f docs/Style.rst
rm -f docs/Asset.rst
rm -f docs/EditColumn.rst
rm -f docs/EditTable.rst
rm -f docs/Cells.rst
rm -f docs/FormAutoConfig.rst
rm -f docs/QueryAutoConfig.rst
rm -f docs/TableAutoConfig.rst
rm -f docs/views.rst
.PHONY: lint
lint: ruff
.PHONY: ruff
ruff:
uv run ruff check .
.PHONY: ruff-format
ruff-format:
uv run ruff format .
test-all:
tox --skip-missing-interpreters
.PHONY: test
test:
uv run pytest
coverage:
uv run pytest \
--cov iommi \
--cov tests \
--cov-config .coveragerc
uv run coverage report -m
uv run coverage html
uv run coverage xml
.PHONY: docs
docs: venv clean-docs
rm -f docs/test_doc__*
make -C docs clean SPHINXBUILD=../.venv/bin/sphinx-build
make -C docs html SPHINXBUILD=../.venv/bin/sphinx-build
docs-viewer:
echo "http://127.0.0.1:10331"
cd docs/_build/html; uv run python -m http.server 10331
test-docs:
make -C docs html
.PHONY: dist
dist: clean-build clean-pyc
uv build
ls -l dist
.PHONY: venv
venv:
uv venv
uv sync --dev
.PHONY: run-examples
run-examples:
uv run --script examples/manage.py migrate
uv run --script examples/manage.py runserver
.PHONY: test-live
test-live:
uv run watchmedo shell-command --patterns="*.py" --command="uv run pytest" iommi tests
.PHONY: makemessages
makemessages:
(cd iommi && uv run django-admin makemessages -a)
(cd examples && uv run django-admin makemessages -a)
.PHONY: compilemessages
compilemessages:
(cd iommi && uv run django-admin compilemessages)
(cd examples && uv run django-admin compilemessages)
.PHONY: tag
tag:
uv run --script util.py tag
.PHONY: release-check
release-check:
uv run --script util.py release-check
.PHONY: release
release: clean-build release-check
(cd iommi && uv run django-admin compilemessages)
uv build
# uv publish