requirements.json 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. # This is a JSON file with line-level comments allowed.
  7. # Always keep backwards compatibility in mine. The launcher script is robust
  8. # against missing values, but when a field is renamed/removed, it means older
  9. # versions of the launcher script won't be able to enforce the constraint.
  10. # When requiring versions, always use lists as they are easy to parse & compare
  11. # in Python. Strings would require futher processing to turn into a list.
  12. # Version constraints should be expressed in pairs: soft & hard. Soft versions
  13. # are when we start warning users that their software too old and we're planning
  14. # on dropping support for it, so they need to start planning system upgrades.
  15. # Hard versions are when we refuse to work the tool. Users will be shown an
  16. # error message before we abort entirely.
  17. # When deciding whether to upgrade a version requirement, check out the distro
  18. # lists to see who will be impacted:
  19. # https://gerrit.googlesource.com/git-repo/+/HEAD/docs/release-process.md#Project-References
  20. {
  21. # The repo launcher itself. This allows us to force people to upgrade as some
  22. # ignore the warnings about it being out of date, or install ancient versions
  23. # to start with for whatever reason.
  24. #
  25. # NB: Repo launchers started checking this file with repo-2.12, so listing
  26. # versions older than that won't make a difference.
  27. "repo": {
  28. "hard": [2, 11],
  29. "soft": [2, 11]
  30. },
  31. # Supported Python versions.
  32. #
  33. # python-3.6 is in Ubuntu Bionic.
  34. # python-3.5 is in Debian Stretch.
  35. "python": {
  36. "hard": [3, 5],
  37. "soft": [3, 6]
  38. },
  39. # Supported git versions.
  40. #
  41. # git-1.7.2 is in Debian Squeeze.
  42. # git-1.7.9 is in Ubuntu Precise.
  43. # git-1.9.1 is in Ubuntu Trusty.
  44. # git-1.7.10 is in Debian Wheezy.
  45. "git": {
  46. "hard": [1, 7, 2],
  47. "soft": [1, 9, 1]
  48. }
  49. }