[xDS Proto] Update Bazel build dependencies for Envoy API#29219
[xDS Proto] Update Bazel build dependencies for Envoy API#29219lidizheng merged 3 commits intogrpc:masterfrom
Conversation
|
Instead of patching here, can you submit a PR to the proto-gen-validate repo to fix the problem upstream? |
|
@markdroth Posted bufbuild/protoc-gen-validate#582 to the upstream repo. |
|
@jtattermusch PTAL. For the Go dependency issue, if Envoy folks are acceptive to the change, I will create a follow-up PR to remove the patch. |
|
This PR makes it impossible to cleanly include GRPC as an external dependency into workspaces that already include rules_go. Or at least it's unclear how to do so. |
|
@depthwise Can you please add some more detail? Is the issue the call to |
|
@gnossen Yes, you cannot have 2 go_register_toolchains and let's say I want go1.19 in my repo, it's impossible. The older version allowed for dual registration, the new one from io_rules_go does not and makes using this impossible. |
|
@gnossen yep. Once I patch it out, things work OK. There's got to be a way to check if it's declared already and not re-declare it if it is. Or alternatively make it a separate function call that the user of the external dependency can simply skip. |
|
@gnossen I am also seeing this issue. I'll try some patches, but it would be nice if this didn't have to be done. |
First step of #25272.
third_party/protoc-gen-validate.patch: The HEAD and latest releases ofprotoc-gen-validatehave an incorrect hash value for Golang's ProtoBuf library. It's unclear if this is specific to my local environment (hard to believe another well-known library would have obvious build error), but applying this explicit patch did fix the dependency issue.Envoy protos depends on the
protoc-gen-validateto generate C++ proto libraries. It's written in Go, so this PR updates several Go dependencies to make it buildable.Changes:
io_bazel_rules_go;bazel_gazelle;com_envoyproxy_protoc_gen_validate(with patch);protoc_gen_validate(this was required when we were trying another CMake solution, no longer required).CC @veblush