diff options
Diffstat (limited to 'requirements.json')
-rw-r--r-- | requirements.json | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/requirements.json b/requirements.json new file mode 100644 index 00000000..86b9a46c --- /dev/null +++ b/requirements.json | |||
@@ -0,0 +1,57 @@ | |||
1 | # This file declares various requirements for this version of repo. The | ||
2 | # launcher script will load it and check the constraints before trying to run | ||
3 | # us. This avoids issues of the launcher using an old version of Python (e.g. | ||
4 | # 3.5) while the codebase has moved on to requiring something much newer (e.g. | ||
5 | # 3.8). If the launcher tried to import us, it would fail with syntax errors. | ||
6 | |||
7 | # This is a JSON file with line-level comments allowed. | ||
8 | |||
9 | # Always keep backwards compatibility in mine. The launcher script is robust | ||
10 | # against missing values, but when a field is renamed/removed, it means older | ||
11 | # versions of the launcher script won't be able to enforce the constraint. | ||
12 | |||
13 | # When requiring versions, always use lists as they are easy to parse & compare | ||
14 | # in Python. Strings would require futher processing to turn into a list. | ||
15 | |||
16 | # Version constraints should be expressed in pairs: soft & hard. Soft versions | ||
17 | # are when we start warning users that their software too old and we're planning | ||
18 | # on dropping support for it, so they need to start planning system upgrades. | ||
19 | # Hard versions are when we refuse to work the tool. Users will be shown an | ||
20 | # error message before we abort entirely. | ||
21 | |||
22 | # When deciding whether to upgrade a version requirement, check out the distro | ||
23 | # lists to see who will be impacted: | ||
24 | # https://gerrit.googlesource.com/git-repo/+/HEAD/docs/release-process.md#Project-References | ||
25 | |||
26 | { | ||
27 | # The repo launcher itself. This allows us to force people to upgrade as some | ||
28 | # ignore the warnings about it being out of date, or install ancient versions | ||
29 | # to start with for whatever reason. | ||
30 | # | ||
31 | # NB: Repo launchers started checking this file with repo-2.12, so listing | ||
32 | # versions older than that won't make a difference. | ||
33 | "repo": { | ||
34 | "hard": [2, 11], | ||
35 | "soft": [2, 11] | ||
36 | }, | ||
37 | |||
38 | # Supported Python versions. | ||
39 | # | ||
40 | # python-3.6 is in Ubuntu Bionic. | ||
41 | # python-3.5 is in Debian Stretch. | ||
42 | "python": { | ||
43 | "hard": [3, 5], | ||
44 | "soft": [3, 6] | ||
45 | }, | ||
46 | |||
47 | # Supported git versions. | ||
48 | # | ||
49 | # git-1.7.2 is in Debian Squeeze. | ||
50 | # git-1.7.9 is in Ubuntu Precise. | ||
51 | # git-1.9.1 is in Ubuntu Trusty. | ||
52 | # git-1.7.10 is in Debian Wheezy. | ||
53 | "git": { | ||
54 | "hard": [1, 7, 2], | ||
55 | "soft": [1, 9, 1] | ||
56 | } | ||
57 | } | ||