bazelbuild / rules_rust

Rust rules for Bazel
https://bazelbuild.github.io/rules_rust/
Apache License 2.0
650 stars 410 forks source link

Support incompatible_enable_proto_toolchain_resolution #2627

Open alexeagle opened 4 months ago

alexeagle commented 4 months ago

Currently rules_rust requires the user to override the protoc compiler https://github.com/bazelbuild/rules_rust/blob/df7a6555de52d093183ba03694632fff400c106c/proto/protobuf/toolchain.bzl#L174 with a fixed label to replace it.

However Bazel 7 introduced --incompatible_enable_proto_toolchain_resolution and rules_proto 6.0 allows users to register a toolchain for protoc. The toolchain_type is @rules_proto//proto:toolchain_type: https://github.com/bazelbuild/rules_proto/blob/6.0.0-rc3/proto/BUILD#L57-L60

https://registry.bazel.build/modules/toolchains_protoc is a reference implementation and has examples

Similar change in other language rules:

aran commented 4 months ago

@UebelAndre maybe? Is this something that would be welcome in rules_rust to help avoid protoc compilation times for rust users?

illicitonion commented 4 months ago

I would happily review a PR adding this support :)

UebelAndre commented 4 months ago

@UebelAndre maybe? Is this something that would be welcome in rules_rust to help avoid protoc compilation times for rust users?

Hey! It'd definitely be welcome! 😄