Add support for `--incompatible_enable_proto_toolchain_resolution` (#3919)
* Add support for `--incompatible_enable_proto_toolchain_resolution`
* Do not use dict union
* Fix visibility
* Fix buildifier finding
* Add proto deps to tests
* Attempt to fix integration tests
* MOre fixes
* Add test deps
* Fix test sources
* Remove unused load
* Fix tests and update to rules_proto 6.0.0
* Add back WORKSPACE deps
diff --git a/WORKSPACE b/WORKSPACE
index 39e2a61..67f537e 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,11 +3,62 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
+# Required by toolchains_protoc.
+http_archive(
+ name = "platforms",
+ sha256 = "218efe8ee736d26a3572663b374a253c012b716d8af0c07e842e82f238a0a7ee",
+ urls = [
+ "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.10/platforms-0.0.10.tar.gz",
+ "https://github.com/bazelbuild/platforms/releases/download/0.0.10/platforms-0.0.10.tar.gz",
+ ],
+)
+
+# The non-polyfill version of this is needed by rules_proto below.
+http_archive(
+ name = "bazel_features",
+ sha256 = "d7787da289a7fb497352211ad200ec9f698822a9e0757a4976fd9f713ff372b3",
+ strip_prefix = "bazel_features-1.9.1",
+ url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.9.1/bazel_features-v1.9.1.tar.gz",
+)
+
+load("@bazel_features//:deps.bzl", "bazel_features_deps")
+
+bazel_features_deps()
+
go_rules_dependencies()
go_register_toolchains(version = "1.21.8")
http_archive(
+ name = "rules_proto",
+ sha256 = "303e86e722a520f6f326a50b41cfc16b98fe6d1955ce46642a5b7a67c11c0f5d",
+ strip_prefix = "rules_proto-6.0.0",
+ url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.0/rules_proto-6.0.0.tar.gz",
+)
+
+load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
+
+rules_proto_dependencies()
+
+load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
+
+rules_proto_toolchains()
+
+http_archive(
+ name = "toolchains_protoc",
+ sha256 = "1f3cd768bbb92164952301228bac5e5079743843488598f2b17fecd41163cadb",
+ strip_prefix = "toolchains_protoc-0.2.4",
+ url = "https://github.com/aspect-build/toolchains_protoc/releases/download/v0.2.4/toolchains_protoc-v0.2.4.tar.gz",
+)
+
+load("@toolchains_protoc//protoc:toolchain.bzl", "protoc_toolchains")
+
+protoc_toolchains(
+ name = "protoc_toolchains",
+ version = "v25.3",
+)
+
+http_archive(
name = "com_google_protobuf",
sha256 = "75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae",
strip_prefix = "protobuf-21.7",