Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 1 | """Tweaks the gazelle-generated go_deps.bzl to work with our mirrors. |
| 2 | |
| 3 | This script changes all invocations of go_repository() in go_deps.bzl to use |
| 4 | maybe_override_go_dep(). That lets us more easily switch between upstream |
| 5 | sources and our mirrored versions of the code. |
| 6 | |
| 7 | The motivation is to let folks use upstream sources during local development. |
| 8 | For CI runs, however, we have to restrict ourselves to mirrored dependencies. |
| 9 | """ |
| 10 | |
| 11 | import argparse |
| 12 | import sys |
| 13 | import textwrap |
| 14 | |
Philipp Schrader | d96d4cb | 2022-02-06 15:37:29 -0800 | [diff] [blame] | 15 | import org_frc971.tools.go.mirror_lib |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 16 | |
Ravago Jones | 5127ccc | 2022-07-31 16:32:45 -0700 | [diff] [blame] | 17 | |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 18 | def main(argv): |
| 19 | parser = argparse.ArgumentParser() |
| 20 | parser.add_argument("go_deps_bzl", type=str) |
| 21 | args = parser.parse_args(argv[1:]) |
| 22 | |
Ravago Jones | 5127ccc | 2022-07-31 16:32:45 -0700 | [diff] [blame] | 23 | repos = org_frc971.tools.go.mirror_lib.parse_go_repositories( |
| 24 | args.go_deps_bzl) |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 25 | |
| 26 | with open(args.go_deps_bzl, "w") as file: |
Ravago Jones | 5127ccc | 2022-07-31 16:32:45 -0700 | [diff] [blame] | 27 | file.write( |
| 28 | textwrap.dedent("""\ |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 29 | # This file is auto-generated. Do not edit. |
| 30 | load("//tools/go:mirrored_go_deps.bzl", "maybe_override_go_dep") |
| 31 | |
| 32 | def go_dependencies(): |
| 33 | """)) |
| 34 | for repo in repos: |
Ravago Jones | 5127ccc | 2022-07-31 16:32:45 -0700 | [diff] [blame] | 35 | file.write( |
| 36 | textwrap.indent( |
| 37 | textwrap.dedent(f"""\ |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 38 | maybe_override_go_dep( |
| 39 | name = "{repo['name']}", |
| 40 | importpath = "{repo['importpath']}", |
| 41 | sum = "{repo['sum']}", |
| 42 | version = "{repo['version']}", |
| 43 | ) |
| 44 | """), " " * 4)) |
| 45 | |
Ravago Jones | 5127ccc | 2022-07-31 16:32:45 -0700 | [diff] [blame] | 46 | |
Philipp Schrader | 37fdbb6 | 2021-12-18 00:30:37 -0800 | [diff] [blame] | 47 | if __name__ == "__main__": |
| 48 | sys.exit(main(sys.argv)) |