diff --git a/tests/popular_repos/popular_repos.bzl b/tests/popular_repos/popular_repos.bzl index 88ba24f1c0..ac4d3eda78 100644 --- a/tests/popular_repos/popular_repos.bzl +++ b/tests/popular_repos/popular_repos.bzl @@ -19,41 +19,52 @@ load("@io_bazel_rules_go//go/private:go_repository.bzl", "go_repository") +def _maybe(repo_rule, name, **kwargs): + if name not in native.existing_rules(): + repo_rule(name=name, **kwargs) + def popular_repos(): - go_repository( + _maybe( + go_repository, name="org_golang_x_crypto", importpath="golang.org/x/crypto", strip_prefix="crypto-81e90905daefcd6fd217b62423c0908922eadb30", type="zip", urls=['https://codeload.github.com/golang/crypto/zip/81e90905daefcd6fd217b62423c0908922eadb30'], ) - go_repository( + _maybe( + go_repository, name="org_golang_x_net", importpath="golang.org/x/net", commit="57efc9c3d9f91fb3277f8da1cff370539c4d3dc5", ) - go_repository( + _maybe( + go_repository, name="org_golang_x_sys", importpath="golang.org/x/sys", commit="0b25a408a50076fbbcae6b7ac0ea5fbb0b085e79", ) - go_repository( + _maybe( + go_repository, name="org_golang_x_text", importpath="golang.org/x/text", commit="a9a820217f98f7c8a207ec1e45a874e1fe12c478", ) - go_repository( + _maybe( + go_repository, name="org_golang_x_tools", importpath="golang.org/x/tools", commit="663269851cdddc898f963782f74ea574bcd5c814", ) - go_repository( + _maybe( + go_repository, name="org_golang_google_grpc", importpath="google.golang.org/grpc", commit="3f10311ccf076b6b7cba28273df3290d42e60982", build_file_proto_mode="disable", ) - go_repository( + _maybe( + go_repository, name="com_github_mattn_go_sqlite3", importpath="github.com/mattn/go-sqlite3", commit="83772a7051f5e30d8e59746a9e43dfa706b72f3b", diff --git a/tests/popular_repos/popular_repos.py b/tests/popular_repos/popular_repos.py index 1ccdf98d42..22000107a0 100755 --- a/tests/popular_repos/popular_repos.py +++ b/tests/popular_repos/popular_repos.py @@ -156,6 +156,10 @@ BZL_HEADER = COPYRIGHT_HEADER + """ load("@io_bazel_rules_go//go/private:go_repository.bzl", "go_repository") +def _maybe(repo_rule, name, **kwargs): + if name not in native.existing_rules(): + repo_rule(name=name, **kwargs) + def popular_repos(): """ @@ -165,7 +169,7 @@ def popular_repos_bzl(): with open("popular_repos.bzl", "w") as f: f.write(BZL_HEADER) for repo in POPULAR_REPOS: - f.write(" go_repository(\n") + f.write(" _maybe(\n go_repository,\n") for k in ["name", "importpath", "commit", "strip_prefix", "type", "build_file_proto_mode"]: if k in repo: f.write(' {}="{}",\n'.format(k, repo[k])) for k in ["urls"]: