@@ -4,45 +4,45 @@ SHELL = /bin/bash
4
4
.ONESHELL :
5
5
6
6
MODULE = FlaskTester
7
+ VENV = venv
7
8
8
9
F.md = $(wildcard * .md)
9
10
F.pdf = $(F.md:%.md=%.pdf )
10
11
11
12
# PYTHON = /snap/bin/pypy3
12
13
# PYTHON = python3
13
14
PYTHON = python
14
- PIP = venv/bin/pip
15
15
16
16
.PHONY : check check.mypy check.ruff check.pytest check.demo check.coverage check.docs
17
17
check.mypy : venv
18
- source venv /bin/activate
18
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
19
19
mypy --implicit-optional --check-untyped-defs $(MODULE ) .py
20
20
21
21
check.pyright : venv
22
- source venv /bin/activate
22
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
23
23
pyright $(MODULE ) .py
24
24
25
25
# E127,W504
26
26
check.ruff : venv
27
- source venv /bin/activate
27
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
28
28
ruff check --ignore=E227,E402,E501,E721,F401,F811 $(MODULE ) .py
29
29
30
30
check.pytest : venv
31
- source venv /bin/activate
31
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
32
32
$(MAKE ) -C tests check
33
33
34
34
check.coverage : venv
35
- source venv /bin/activate
35
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
36
36
$(MAKE ) -C tests check.coverage
37
37
38
38
# MD013: line length
39
39
check.docs :
40
- source venv /bin/activate
40
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
41
41
pymarkdown -d MD013 scan * .md
42
42
sphinx-lint docs/
43
43
44
44
check : venv
45
- source venv /bin/activate
45
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
46
46
type $(PYTHON )
47
47
$(MAKE ) check.mypy
48
48
$(MAKE ) check.pyright
@@ -53,7 +53,7 @@ check: venv
53
53
54
54
.PHONY : docs
55
55
docs : venv
56
- source venv /bin/activate
56
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
57
57
$(MAKE ) -C docs html
58
58
find docs/_build -type d -print0 | xargs -0 chmod a+rx
59
59
find docs/_build -type f -print0 | xargs -0 chmod a+r
@@ -72,20 +72,22 @@ clean.venv: clean
72
72
73
73
.PHONY : venv.update
74
74
venv.update :
75
- $(PIP ) install -U pip
76
- $(PIP ) install -e .[dev,doc]
75
+ [ " $( VENV) " ] && source $(VENV ) /bin/activate
76
+ pip install -U pip
77
+ pip install -e .[dev,doc]
77
78
78
79
# for local testing
79
80
venv :
80
81
$(PYTHON ) -m venv venv
81
82
$(MAKE ) venv.update
82
83
83
84
$(MODULE ) .egg-info : venv
84
- $(PIP ) install -e .
85
+ [ " $( VENV) " ] && source $(VENV ) /bin/activate
86
+ pip install -e .
85
87
86
88
# generate source and built distribution
87
89
dist : venv
88
- source venv /bin/activate
90
+ [ " $( VENV ) " ] && source $( VENV ) /bin/activate
89
91
$(PYTHON ) -m build
90
92
91
93
.PHONY : publish
0 commit comments