`nixpkgs_java_configure` doesn't work with nixpkgs Bazel 7
Describe the bug
It looks like a combination of using nixpkgs_java_configure and Bazel 7 from nixpkgs results in a missing bootstrap toolchain:
flurie@nixos:$ bazel build //... --toolchain_resolution_debug='@@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type'
Starting local Bazel server and connecting to it...
INFO: Invocation ID: c381ea79-abad-4b59-9a9c-954c341caabb
INFO: ToolchainResolution: Performing resolution of @@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type for target platform @rules_nixpkgs_core//platforms:host
ToolchainResolution: Rejected toolchain @@local_jdk//:jdk; mismatching config settings: localjdk_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_linux//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_linux_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_linux_ppc64le//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_linux_s390x//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_macos//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_macos_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_win//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk11_win_arm64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_linux//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_linux_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_linux_ppc64le//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_linux_s390x//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_macos//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_macos_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_win//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk17_win_arm64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk21_linux//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk21_linux_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk21_macos//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk21_macos_aarch64//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: Rejected toolchain @@remotejdk21_win//:jdk; mismatching config settings: prefix_version_setting
ToolchainResolution: No @@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type toolchain found for target platform @@rules_nixpkgs_core//platforms:host.
INFO: Repository remote_java_tools instantiated at:
/DEFAULT.WORKSPACE.SUFFIX:93:24: in <toplevel>
/mnt/bazel/9cd9af109c81158acf7f3696fd3a0c1e/external/rules_java_builtin/java/repositories.bzl:529:21: in rules_java_dependencies
/mnt/bazel/9cd9af109c81158acf7f3696fd3a0c1e/external/rules_java_builtin/java/repositories.bzl:58:14: in java_tools_repos
/mnt/bazel/9cd9af109c81158acf7f3696fd3a0c1e/external/bazel_tools/tools/build_defs/repo/utils.bzl:240:18: in maybe
Repository rule http_archive defined at:
/mnt/bazel/9cd9af109c81158acf7f3696fd3a0c1e/external/bazel_tools/tools/build_defs/repo/http.bzl:384:31: in <toplevel>
To Reproduce
I'm migrating a rather large project to Bazel 7, so I don't have a min repro on hand, but I have a feeling a min repro would just be running Bazel 7 from nixpkgs, configuring a Java toolchain with rules_nixpkgs, and using a repo rule like http_archive that uses this toolchain.
Expected behavior The rules_nixpkgs Java toolchain already stands in for the runtime_toolchain_type, so I would expect it to register the bootstrap_runtime_toolchain_type as well since they are very nearly the same thing.
Environment
- OS name + version: NixOS 23.11
- Version of the code: rules_nixpkgs v0.10.0
Additional context Add any other context about the problem here.
Just for reference, also see https://bazelbuild.slack.com/archives/CFB3AE72P/p1704908066268699
The bootstrap toolchain was added as part of bazel 7 (well, as part of rules_java xxx, released together with bazel 7 AFAIK). The fix is to ship some definition for that one too in nixpkgs_java_configure.