Make C++ toolchain explicitly not mandatory Fixes: https://github.com/bazelbuild/rules_java/issues/305 PiperOrigin-RevId: 775703888 Change-Id: I709ccc8f29a09470aa3c4653ce9e1c413fafbbe4
diff --git a/java/bazel/rules/bazel_java_binary.bzl b/java/bazel/rules/bazel_java_binary.bzl index cbbe0de..da54722 100644 --- a/java/bazel/rules/bazel_java_binary.bzl +++ b/java/bazel/rules/bazel_java_binary.bzl
@@ -317,7 +317,7 @@ test = test, fragments = ["cpp", "java"], provides = [JavaInfo], - toolchains = [semantics.JAVA_TOOLCHAIN] + use_cc_toolchain() + ( + toolchains = [semantics.JAVA_TOOLCHAIN] + use_cc_toolchain(mandatory = False) + ( [semantics.JAVA_RUNTIME_TOOLCHAIN] if executable or test else [] ) + ( [_LAUNCHER_MAKER_TOOLCHAIN] if bazel_features.rules._has_launcher_maker_toolchain else [] @@ -331,7 +331,7 @@ "unstrippeddeployjar": "%{name}_deploy.jar.unstripped", }, exec_groups = { - "cpp_link": exec_group(toolchains = use_cc_toolchain()), + "cpp_link": exec_group(toolchains = use_cc_toolchain(mandatory = False)), }, subrules = [android_lint_subrule], )