-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (53 loc) · 1.44 KB
/
Copy pathMakefile
File metadata and controls
75 lines (53 loc) · 1.44 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
DEPTH=.
include $(DEPTH)/config/config.mk
DIRS= \
qjazz-contrib \
qjazz-server \
qjazz-processes \
qjazz-metapackage \
$(NULL)
UV_INSTALL_GROUPS=$(foreach grp,$(INSTALL_GROUPS),--group $(grp))
clean-dist:
rm -r $(DIST) || true
clean:: clean-dist
rm -r ./**/.qjazz-settings || true
#
# Requirements
#
REQUIREMENT_GROUPS=\
dev \
tests \
lint \
doc \
$(NULL)
# Rebuild requirements only if uv.lock change
requirements.txt: uv.lock
# Export requirements for all projects
# in the workspace
requirements.txt:
@echo "Updating requirements.txt"
@uv export --all-extras --no-dev --format requirements.txt \
--no-emit-workspace \
--no-annotate \
--no-editable \
--no-hashes -q -o requirements.txt
update-requirements: requirements.txt $(patsubst %, update-requirements-%, $(REQUIREMENT_GROUPS))
# Update requirements groups
update-requirements-%:
@echo "Updating requirements for '$*'"; \
uv export --format requirements.txt \
--no-annotate \
--no-editable \
--no-hashes \
--only-group $*\
-q -o requirements/$*.txt;
# Install all dev requirementa using frozen packagess
install::
@uv sync --all-extras --frozen $(ACTIVE_VENV) $(UV_INSTALL_GROUPS)
# Upgrade all packages dependencies - will update uv.lock
upgrade::
@uv sync -U --all-extras $(ACTIVE_VENV) $(UV_INSTALL_GROUPS)
upgrade:: update-requirements
reinstall::
@uv sync --reinstall --all-extras $(ACTIVE_VENV) $(UV_INSTALL_GROUPS)
include $(topsrcdir)/config/rules.mk