| commit 2bf1b927a4d24b6869d7247f91d4af2b50c39a9f |
| Author: David Sanderson <32687193+dws@users.noreply.github.com> |
| Date: Wed Jun 11 17:46:26 2025 -0400 |
| |
| use DefaultInfo in grpc-java |
| |
| We here address the following obstacles in grpc-java to using Bazel's |
| --incompatible_disable_target_default_provider_fields flag: |
| |
| ERROR: /private/var/tmp/_bazel_dws/7fd3cd5077fbf76d9e2ae421c39ef7ed/external/googleapis+/google/devtools/build/v1/BUILD.bazel:81:18: in _java_grpc_library rule @@googleapis+//google/devtools/build/v1:build_java_grpc: |
| Traceback (most recent call last): |
| File "/private/var/tmp/_bazel_dws/7fd3cd5077fbf76d9e2ae421c39ef7ed/external/grpc-java+/java_grpc_library.bzl", line 94, column 30, in _java_rpc_library_impl |
| args.add(toolchain.plugin.files_to_run.executable, format = "--plugin=protoc-gen-rpc-plugin=%s") |
| Error: Accessing the default provider in this manner is deprecated and will be removed soon. It may be temporarily re-enabled by setting --incompatible_disable_target_default_provider_fields=false. See https://github.com/bazelbuild/bazel/issues/20183 for details. |
| ERROR: /private/var/tmp/_bazel_dws/7fd3cd5077fbf76d9e2ae421c39ef7ed/external/googleapis+/google/devtools/build/v1/BUILD.bazel:81:18: Analysis of target '@@googleapis+//google/devtools/build/v1:build_java_grpc' failed |
| ERROR: Analysis of target '//src:bazel' failed; build aborted: Analysis failed |
| |
| diff --git a/java_grpc_library.bzl b/java_grpc_library.bzl |
| index 630ced383..e7d133a27 100644 |
| --- a/java_grpc_library.bzl |
| +++ b/java_grpc_library.bzl |
| @@ -91,15 +91,15 @@ def _java_rpc_library_impl(ctx): |
| srcjar = ctx.actions.declare_file("%s-proto-gensrc.jar" % ctx.label.name) |
| |
| args = ctx.actions.args() |
| - args.add(toolchain.plugin.files_to_run.executable, format = "--plugin=protoc-gen-rpc-plugin=%s") |
| + args.add(toolchain.plugin[DefaultInfo].files_to_run.executable, format = "--plugin=protoc-gen-rpc-plugin=%s") |
| args.add("--rpc-plugin_out={0}:{1}".format(toolchain.plugin_arg, srcjar.path)) |
| args.add_joined("--descriptor_set_in", descriptor_set_in, join_with = ctx.configuration.host_path_separator) |
| args.add_all(srcs, map_each = _path_ignoring_repository) |
| |
| ctx.actions.run( |
| - inputs = depset(srcs, transitive = [descriptor_set_in, toolchain.plugin.files]), |
| + inputs = depset(srcs, transitive = [descriptor_set_in, toolchain.plugin[DefaultInfo].files]), |
| outputs = [srcjar], |
| - executable = toolchain.protoc.files_to_run, |
| + executable = toolchain.protoc[DefaultInfo].files_to_run, |
| arguments = [args], |
| use_default_shell_env = True, |
| toolchain = None, |