-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathMakefile
58 lines (43 loc) · 1.35 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
OS = $(shell uname)
VERSION = 25.2
PYTHON_UNSAFE_OBJECTS = \
libreoffice/base.py \
libreoffice/dialog.py \
libreoffice/importer.py \
libreoffice/loader.py \
qged2dot.py \
tools/pack.py \
tools/requirements.py \
PYTHON_SAFE_OBJECTS = \
ged2dot.py \
inlineize.py \
PYTHON_TEST_OBJECTS = \
tests/test_ged2dot.py \
tests/test_inlineize.py \
PYTHON_OBJECTS = \
$(PYTHON_UNSAFE_OBJECTS) \
$(PYTHON_SAFE_OBJECTS) \
$(PYTHON_TEST_OBJECTS) \
all:
check: check-mypy check-flake8 check-pylint check-unit
@echo "make check: ok"
check-mypy: $(PYTHON_OBJECTS) Makefile requirements.txt
env PYTHONPATH=.:tests mypy --python-version 3.11 --strict --no-error-summary $(PYTHON_OBJECTS) && touch $@
check-flake8: $(patsubst %.py,%.flake8,$(PYTHON_OBJECTS))
check-pylint: $(patsubst %.py,%.pylint,$(PYTHON_OBJECTS))
check-unit:
env PYTHONPATH=.:tests coverage run --branch --module unittest $(PYTHON_TEST_OBJECTS)
env PYTHONPATH=.:tests coverage report --show-missing --fail-under=100 $(PYTHON_SAFE_OBJECTS)
%.flake8: %.py Makefile requirements.txt
flake8 $< && touch $@
%.pylint : %.py Makefile .pylintrc requirements.txt
env PYTHONPATH=. pylint -v $< && touch $@
pack:
rm -rf dist
make -C libreoffice VERSION=$(VERSION)
mkdir -p dist
cp libreoffice/*.oxt dist/
run-guide:
cd guide && mdbook serve --hostname 127.0.0.1
fuzz:
env PYTHONPATH=. tools/fuzz.py