File tree Expand file tree Collapse file tree 4 files changed +88
-8
lines changed Expand file tree Collapse file tree 4 files changed +88
-8
lines changed Original file line number Diff line number Diff line change @@ -114,6 +114,12 @@ licenses: .state/docker-build-base
114
114
deps : .state/docker-build-base
115
115
docker compose run --rm base bin/deps
116
116
117
+ deps_upgrade_all : .state/docker-build-base
118
+ docker compose run --rm base bin/deps-upgrade -a
119
+
120
+ deps_upgrade_project : .state/docker-build-base
121
+ docker compose run --rm base bin/deps-upgrade -p $(P )
122
+
117
123
translations : .state/docker-build-base
118
124
docker compose run --rm base bin/translations
119
125
@@ -181,4 +187,4 @@ purge: stop clean
181
187
stop :
182
188
docker compose stop
183
189
184
- .PHONY : default build serve resetdb initdb shell dbshell tests dev-docs user-docs deps clean purge debug stop compile-pot runmigrations checkdb
190
+ .PHONY : default build serve resetdb initdb shell dbshell tests dev-docs user-docs deps deps_upgrade_all deps_upgrade_project clean purge debug stop compile-pot runmigrations checkdb
Original file line number Diff line number Diff line change @@ -3,13 +3,13 @@ set -ex
3
3
4
4
export TMPDIR=$( mktemp -d)
5
5
mkdir -p $TMPDIR /docs
6
- pip-compile --upgrade - o $TMPDIR /deploy.txt requirements/deploy.in > /dev/null
7
- pip-compile --upgrade - o $TMPDIR /main.txt requirements/main.in > /dev/null
8
- pip-compile --upgrade - o $TMPDIR /lint.txt requirements/lint.in > /dev/null
9
- pip-compile --upgrade - o $TMPDIR /tests.txt requirements/tests.in > /dev/null
10
- pip-compile --upgrade - o $TMPDIR /docs-dev.txt requirements/docs-dev.in > /dev/null
11
- pip-compile --upgrade - o $TMPDIR /docs-user.txt requirements/docs-user.in > /dev/null
12
- pip-compile --upgrade - o $TMPDIR /docs-blog.txt requirements/docs-blog.in > /dev/null
6
+ pip-compile -o $TMPDIR /deploy.txt requirements/deploy.in > /dev/null
7
+ pip-compile -o $TMPDIR /main.txt requirements/main.in > /dev/null
8
+ pip-compile -o $TMPDIR /lint.txt requirements/lint.in > /dev/null
9
+ pip-compile -o $TMPDIR /tests.txt requirements/tests.in > /dev/null
10
+ pip-compile -o $TMPDIR /docs-dev.txt requirements/docs-dev.in > /dev/null
11
+ pip-compile -o $TMPDIR /docs-user.txt requirements/docs-user.in > /dev/null
12
+ pip-compile -o $TMPDIR /docs-blog.txt requirements/docs-blog.in > /dev/null
13
13
python bin/depchecker.py $TMPDIR /deploy.txt requirements/deploy.txt
14
14
python bin/depchecker.py $TMPDIR /main.txt requirements/main.txt
15
15
python bin/depchecker.py $TMPDIR /lint.txt requirements/lint.txt
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ usage () {
4
+ echo " Usage: $0 [OPTIONS]"
5
+ echo " Options:"
6
+ echo " -h, --help Display this help message"
7
+ echo " -a, --all Upgrade all dependencies"
8
+ echo " -p, --package PACKAGE_NAME Upgrade a specific package"
9
+ }
10
+
11
+ has_argument () {
12
+ [[ (" $1 " == * =* && -n ${1#* =} ) || ( ! -z " $2 " && " $2 " ! = -* ) ]];
13
+ }
14
+
15
+ extract_argument () {
16
+ echo " ${2:- ${1#* =} } "
17
+ }
18
+
19
+ pip_compile_args=" "
20
+
21
+ handle_options () {
22
+ while [ $# -gt 0 ]; do
23
+ case $1 in
24
+ -h | --help)
25
+ usage
26
+ exit 0
27
+ ;;
28
+ -a | --all)
29
+ pip_compile_args=" --upgrade"
30
+ ;;
31
+ -p | --package* )
32
+ if ! has_argument $@ ; then
33
+ echo " Project name not specified." >&2
34
+ usage
35
+ exit 1
36
+ fi
37
+
38
+ pip_compile_args=" --upgrade-package $( extract_argument $@ ) "
39
+
40
+ shift
41
+ ;;
42
+ * )
43
+ echo " Invalid option: $1 " >&2
44
+ usage
45
+ exit 1
46
+ ;;
47
+ esac
48
+ shift
49
+ done
50
+ }
51
+
52
+ # Main script execution
53
+ handle_options " $@ "
54
+
55
+ set -ex
56
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/deploy.txt requirements/deploy.in
57
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/main.txt requirements/main.in
58
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/lint.txt requirements/lint.in
59
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/tests.txt requirements/tests.in
60
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-dev.txt requirements/docs-dev.in
61
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-user.txt requirements/docs-user.in
62
+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-blog.txt requirements/docs-blog.in
Original file line number Diff line number Diff line change @@ -22,6 +22,18 @@ Upgrading existing dependencies
22
22
Dependencies are automatically upgraded via `Dependabot pull requests `_, and
23
23
occasionally merged by maintainers.
24
24
25
+ You can manually upgrade a specific dependency with::
26
+
27
+ make deps_upgrade_project P={project_name}
28
+
29
+ For instance, to upgrade boto3::
30
+
31
+ make deps_upgrade_project P=boto3
32
+
33
+ To upgrade all dependencies, you can use::
34
+
35
+ make deps_upgrade_all
36
+
25
37
Adding new dependencies
26
38
~~~~~~~~~~~~~~~~~~~~~~~
27
39
You can’t perform that action at this time.
0 commit comments