Load protobuf in deps macro
diff --git a/WORKSPACE b/WORKSPACE
index acd4711..ee5ac1b 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -107,16 +107,6 @@
py_repositories()
-http_archive(
- name = "com_google_protobuf",
- integrity = "sha256-zl0At4RQoMpAC/NgrADA1ZnMIl8EnZhqJ+mk45bFqEo=",
- strip_prefix = "protobuf-29.0-rc2",
- urls = [
- "https://github.com/protocolbuffers/protobuf/archive/v29.0-rc2.tar.gz",
- "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v29.0-rc2.tar.gz",
- ],
-)
-
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()
diff --git a/go/private/repositories.bzl b/go/private/repositories.bzl
index e25885a..db14349 100644
--- a/go/private/repositories.bzl
+++ b/go/private/repositories.bzl
@@ -165,7 +165,8 @@
# reasons for this:
#
# * com_google_protobuf has its own dependency macro. We can't load
- # the macro here.
+ # the macro here, but we still instantiate the repo itself because
+ # rules_cc depends on it being present through rules_java.
# * rules_proto also has a dependency macro. It's only needed by tests and
# by gogo_special_proto. Users will need to declare it anyway.
# * org_golang_google_grpc has too many dependencies for us to maintain.
@@ -340,6 +341,17 @@
urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz"],
)
+ wrapper(
+ http_archive,
+ name = "com_google_protobuf",
+ integrity = "sha256-zl0At4RQoMpAC/NgrADA1ZnMIl8EnZhqJ+mk45bFqEo=",
+ strip_prefix = "protobuf-29.0-rc2",
+ urls = [
+ "https://github.com/protocolbuffers/protobuf/archive/v29.0-rc2.tar.gz",
+ "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v29.0-rc2.tar.gz",
+ ],
+ )
+
def _go_host_compatible_sdk_label_impl(ctx):
ctx.file("BUILD.bazel")
ctx.file("defs.bzl", """HOST_COMPATIBLE_SDK = Label("@go_sdk//:ROOT")""")