From 03fba0eded2aaa3387a92168e8a90ea80fb4c04c Mon Sep 17 00:00:00 2001 From: Malte Poll <1780588+malt3@users.noreply.github.com> Date: Tue, 28 Jan 2025 19:26:09 +0100 Subject: [PATCH] testing/java: make cc toolchain available rules_java builds native C code (zlib) as part of the toolchains //java_tools/zlib:zlib --- testing/java/.bazelrc | 1 + testing/java/MODULE.bazel | 20 +++++++++++++++++--- testing/java/WORKSPACE | 5 +++++ testing/java/tests/nixpkgs_repositories.bzl | 7 +++++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/testing/java/.bazelrc b/testing/java/.bazelrc index 3dedfdf59..c20de73ae 100644 --- a/testing/java/.bazelrc +++ b/testing/java/.bazelrc @@ -1,3 +1,4 @@ import %workspace%/../../.bazelrc.remote-cache import %workspace%/../../.bazelrc.common +import %workspace%/../../.bazelrc.cc import %workspace%/../../.bazelrc.java diff --git a/testing/java/MODULE.bazel b/testing/java/MODULE.bazel index a464819e0..635fb6775 100644 --- a/testing/java/MODULE.bazel +++ b/testing/java/MODULE.bazel @@ -1,9 +1,9 @@ module(name = "rules_nixpkgs_java_testing") -bazel_dep(name = "rules_nixpkgs_java") +bazel_dep(name = "rules_nixpkgs_cc") local_path_override( - module_name = "rules_nixpkgs_java", - path = "../../toolchains/java", + module_name = "rules_nixpkgs_cc", + path = "../../toolchains/cc", ) bazel_dep(name = "rules_nixpkgs_core") @@ -12,7 +12,14 @@ local_path_override( path = "../../core", ) +bazel_dep(name = "rules_nixpkgs_java") +local_path_override( + module_name = "rules_nixpkgs_java", + path = "../../toolchains/java", +) + bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_cc", version = "0.0.9") # TODO[AH] Remove these transitive dependencies once nixpkgs_java_configure has # become a module extension in rules_nixpkgs_java. @@ -25,7 +32,14 @@ single_version_override( ) non_module_deps = use_extension("//:non_module_deps.bzl", "non_module_deps") + +# The Java toolchain requires a CC toolchain. use_repo(non_module_deps, "nixpkgs") +use_repo(non_module_deps, "nixpkgs_config_cc") +use_repo(non_module_deps, "nixpkgs_config_cc_info") +use_repo(non_module_deps, "nixpkgs_config_cc_toolchains") +register_toolchains("@nixpkgs_config_cc_toolchains//:all") + use_repo(non_module_deps, "nixpkgs_java_runtime") use_repo(non_module_deps, "nixpkgs_java_runtime_toolchain") register_toolchains("@nixpkgs_java_runtime_toolchain//:all") diff --git a/testing/java/WORKSPACE b/testing/java/WORKSPACE index 9004c1f72..e0a02c84c 100644 --- a/testing/java/WORKSPACE +++ b/testing/java/WORKSPACE @@ -5,6 +5,11 @@ local_repository( path = "../../toolchains/java", ) +local_repository( + name = "rules_nixpkgs_cc", + path = "../../toolchains/cc", +) + local_repository( name = "rules_nixpkgs_core", path = "../../core", diff --git a/testing/java/tests/nixpkgs_repositories.bzl b/testing/java/tests/nixpkgs_repositories.bzl index ad5a44296..3ccaacd36 100644 --- a/testing/java/tests/nixpkgs_repositories.bzl +++ b/testing/java/tests/nixpkgs_repositories.bzl @@ -1,4 +1,5 @@ load("@rules_nixpkgs_core//:nixpkgs.bzl", "nixpkgs_local_repository") +load("@rules_nixpkgs_cc//:cc.bzl", "nixpkgs_cc_configure") load("@rules_nixpkgs_java//:java.bzl", "nixpkgs_java_configure") def nixpkgs_repositories(*, bzlmod): @@ -8,6 +9,12 @@ def nixpkgs_repositories(*, bzlmod): nix_file_deps = ["//:flake.lock"], ) + nixpkgs_cc_configure( + name = "nixpkgs_config_cc", + repository = "@nixpkgs", + register = not bzlmod, + ) + nixpkgs_java_configure( name = "nixpkgs_java_runtime", attribute_path = "jdk11.home",