Merge branch 'master' into add_s390x_support_in_java_repos
diff --git a/MODULE.bazel b/MODULE.bazel
index 4770232..cd93b9b 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,6 +1,6 @@
module(
name = "rules_java",
- version = "5.4.1",
+ version = "5.5.0",
compatibility_level = 1,
)
@@ -19,7 +19,8 @@
use_repo(toolchains, "remote_java_tools")
use_repo(toolchains, "remote_java_tools_linux")
use_repo(toolchains, "remote_java_tools_windows")
-use_repo(toolchains, "remote_java_tools_darwin")
+use_repo(toolchains, "remote_java_tools_darwin_x86_64")
+use_repo(toolchains, "remote_java_tools_darwin_arm64")
# Declare local jdk repo
use_repo(toolchains, "local_jdk")
@@ -29,9 +30,8 @@
# Declare all remote jdk toolchain config repos
JDK_VERSIONS = [
"11",
- "15",
- "16",
"17",
+ "19",
]
PLATFORMS = [
diff --git a/java/defs.bzl b/java/defs.bzl
index 2cfd520..33f8cec 100644
--- a/java/defs.bzl
+++ b/java/defs.bzl
@@ -18,7 +18,7 @@
# Do not touch: This line marks the end of loads; needed for PR importing.
_MIGRATION_TAG = "__JAVA_RULES_MIGRATION_DO_NOT_USE_WILL_BREAK__"
-version = "5.4.1"
+version = "5.5.0"
def _add_tags(attrs):
if "tags" in attrs and attrs["tags"] != None:
diff --git a/java/extensions.bzl b/java/extensions.bzl
index ae51218..01dabd8 100644
--- a/java/extensions.bzl
+++ b/java/extensions.bzl
@@ -13,14 +13,13 @@
# limitations under the License.
"""Module extensions for rules_java."""
-load("//java:repositories.bzl", "java_tools_repos", "local_jdk_repo", "remote_jdk11_repos", "remote_jdk15_repos", "remote_jdk16_repos", "remote_jdk17_repos")
+load("//java:repositories.bzl", "java_tools_repos", "local_jdk_repo", "remote_jdk11_repos", "remote_jdk17_repos", "remote_jdk19_repos")
def _toolchains_impl(_ctx):
java_tools_repos()
local_jdk_repo()
remote_jdk11_repos()
- remote_jdk15_repos()
- remote_jdk16_repos()
remote_jdk17_repos()
+ remote_jdk19_repos()
toolchains = module_extension(implementation = _toolchains_impl)
diff --git a/java/repositories.bzl b/java/repositories.bzl
index 5a12250..416e852 100644
--- a/java/repositories.bzl
+++ b/java/repositories.bzl
@@ -20,43 +20,64 @@
load("//toolchains:remote_java_repository.bzl", "remote_java_repository")
def java_tools_repos():
+ """ Declares the remote java_tools repositories """
maybe(
http_archive,
name = "remote_java_tools",
- sha256 = "b95903c3659d28c159c719449e201b83db475491031b620d021458b982400a22",
+ sha256 = "6efab6ca6e16e02c90e62bbd08ca65f61527984ab78564ea7ad7a2692b2ffdbb",
urls = [
- "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.11/java_tools-v11.11.zip",
- "https://github.com/bazelbuild/java_tools/releases/download/java_v11.11/java_tools-v11.11.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools-v12.0.zip",
],
)
maybe(
http_archive,
name = "remote_java_tools_linux",
- sha256 = "644c887e6e64ca0dd5271d42709b93c07d7ef5dbf42047b823c214a79f9b05f3",
+ sha256 = "4b8366b780387fc5ce69527ed287f2b444ee429d3325305ad062c92ac43c7fb6",
urls = [
- "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.11/java_tools_linux-v11.11.zip",
- "https://github.com/bazelbuild/java_tools/releases/download/java_v11.11/java_tools_linux-v11.11.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools_linux-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools_linux-v12.0.zip",
],
)
maybe(
http_archive,
name = "remote_java_tools_windows",
- sha256 = "e08acc5c1b43a29335a2a5257e16741a4a4efcdaaf1fdf05c00cce81c4b0ced8",
+ sha256 = "7b938f0c67d9d390f10489b1b9a4dabb51e39ecc94532c3acdf8c4c16900457f",
urls = [
- "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.11/java_tools_windows-v11.11.zip",
- "https://github.com/bazelbuild/java_tools/releases/download/java_v11.11/java_tools_windows-v11.11.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools_windows-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools_windows-v12.0.zip",
],
)
maybe(
http_archive,
name = "remote_java_tools_darwin",
- sha256 = "af62d4070263d0f80186abd44c9ae4df83e1a64aa5133163dca11a05bb7f2d4f",
+ sha256 = "abc434be713ee9e1fd6525d7a7bd9d7cdff6e27ae3ca9d96420490e7ff6e28a3",
urls = [
- "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.11/java_tools_darwin-v11.11.zip",
- "https://github.com/bazelbuild/java_tools/releases/download/java_v11.11/java_tools_darwin-v11.11.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools_darwin_x86_64-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools_darwin_x86_64-v12.0.zip",
+ ],
+ )
+
+ maybe(
+ http_archive,
+ name = "remote_java_tools_darwin_x86_64",
+ sha256 = "abc434be713ee9e1fd6525d7a7bd9d7cdff6e27ae3ca9d96420490e7ff6e28a3",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools_darwin_x86_64-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools_darwin_x86_64-v12.0.zip",
+ ],
+ )
+
+ maybe(
+ http_archive,
+ name = "remote_java_tools_darwin_arm64",
+ sha256 = "24a47a5557ee2ccdacd10a54fe4c15d627c6aeaf7596a5dccf2e11a866a5a32a",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.0/java_tools_darwin_arm64-v12.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v12.0/java_tools_darwin_arm64-v12.0.zip",
],
)
diff --git a/toolchains/BUILD b/toolchains/BUILD
index d9f3362..563c667 100644
--- a/toolchains/BUILD
+++ b/toolchains/BUILD
@@ -126,7 +126,8 @@
)
for OS in [
"linux",
- "darwin",
+ "darwin_x86_64",
+ "darwin_arm64",
"windows",
]
]
@@ -142,7 +143,8 @@
alias(
name = "ijar_prebuilt_binary_or_cc_binary",
actual = select({
- "@bazel_tools//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+ "@bazel_tools//src/conditions:darwin_arm64": ":ijar_prebuilt_binary_darwin_arm64",
+ "@bazel_tools//src/conditions:darwin_x86_64": ":ijar_prebuilt_binary_darwin_x86_64",
"@bazel_tools//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
"@bazel_tools//src/conditions:windows": ":ijar_prebuilt_binary_windows",
"//conditions:default": "@remote_java_tools//:ijar_cc_binary",
@@ -152,7 +154,8 @@
alias(
name = "ijar_prebuilt_binary",
actual = select({
- "@bazel_tools//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+ "@bazel_tools//src/conditions:darwin_arm64": ":ijar_prebuilt_binary_darwin_arm64",
+ "@bazel_tools//src/conditions:darwin_x86_64": ":ijar_prebuilt_binary_darwin_x86_64",
"@bazel_tools//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
"@bazel_tools//src/conditions:windows": ":ijar_prebuilt_binary_windows",
}),
@@ -172,7 +175,8 @@
alias(
name = "singlejar_prebuilt_or_cc_binary",
actual = select({
- "@bazel_tools//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+ "@bazel_tools//src/conditions:darwin_arm64": ":prebuilt_singlejar_darwin_arm64",
+ "@bazel_tools//src/conditions:darwin_x86_64": ":prebuilt_singlejar_darwin_x86_64",
"@bazel_tools//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
"@bazel_tools//src/conditions:windows": ":prebuilt_singlejar_windows",
"//conditions:default": "@remote_java_tools//:singlejar_cc_bin",
@@ -182,7 +186,8 @@
alias(
name = "prebuilt_singlejar",
actual = select({
- "@bazel_tools//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+ "@bazel_tools//src/conditions:darwin_arm64": ":prebuilt_singlejar_darwin_arm64",
+ "@bazel_tools//src/conditions:darwin_x86_64": ":prebuilt_singlejar_darwin_x86_64",
"@bazel_tools//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
"@bazel_tools//src/conditions:windows": ":prebuilt_singlejar_windows",
}),
diff --git a/toolchains/default_java_toolchain.bzl b/toolchains/default_java_toolchain.bzl
index 4e21aa4..0d3d3d0 100644
--- a/toolchains/default_java_toolchain.bzl
+++ b/toolchains/default_java_toolchain.bzl
@@ -64,29 +64,29 @@
# Default java_toolchain parameters
_BASE_TOOLCHAIN_CONFIGURATION = dict(
forcibly_disable_header_compilation = False,
- genclass = ["@remote_java_tools//:GenClass"],
- header_compiler = ["@remote_java_tools//:TurbineDirect"],
- header_compiler_direct = ["@remote_java_tools//:TurbineDirect"],
- ijar = ["//toolchains:ijar"],
- javabuilder = ["@remote_java_tools//:JavaBuilder"],
+ genclass = [Label("@remote_java_tools//:GenClass")],
+ header_compiler = [Label("@remote_java_tools//:TurbineDirect")],
+ header_compiler_direct = [Label("@remote_java_tools//:TurbineDirect")],
+ ijar = [Label("//toolchains:ijar")],
+ javabuilder = [Label("@remote_java_tools//:JavaBuilder")],
javac_supports_workers = True,
- jacocorunner = "@remote_java_tools//:jacoco_coverage_runner_filegroup",
+ jacocorunner = Label("@remote_java_tools//:jacoco_coverage_runner_filegroup"),
jvm_opts = BASE_JDK9_JVM_OPTS,
turbine_jvm_opts = [
# Turbine is not a worker and parallel GC is faster for short-lived programs.
"-XX:+UseParallelGC",
],
misc = DEFAULT_JAVACOPTS,
- singlejar = ["//toolchains:singlejar"],
+ singlejar = [Label("//toolchains:singlejar")],
# Code to enumerate target JVM boot classpath uses host JVM. Because
# java_runtime-s are involved, its implementation is in @bazel_tools.
- bootclasspath = ["//toolchains:platformclasspath"],
+ bootclasspath = [Label("//toolchains:platformclasspath")],
source_version = "8",
target_version = "8",
reduced_classpath_incompatible_processors = [
"dagger.hilt.processor.internal.root.RootProcessor", # see b/21307381
],
- java_runtime = "//toolchains:remotejdk_17",
+ java_runtime = Label("//toolchains:remotejdk_17"),
)
DEFAULT_TOOLCHAIN_CONFIGURATION = _BASE_TOOLCHAIN_CONFIGURATION
@@ -105,7 +105,7 @@
# However it does allow using a wider range of `--host_javabase`s, including
# versions newer than the current JDK.
VANILLA_TOOLCHAIN_CONFIGURATION = dict(
- javabuilder = ["@remote_java_tools//:VanillaJavaBuilder"],
+ javabuilder = [Label("@remote_java_tools//:VanillaJavaBuilder")],
jvm_opts = [],
java_runtime = None,
)
@@ -116,14 +116,14 @@
# same, otherwise the binaries will not work on the execution
# platform.
PREBUILT_TOOLCHAIN_CONFIGURATION = dict(
- ijar = ["//toolchains:ijar_prebuilt_binary"],
- singlejar = ["//toolchains:prebuilt_singlejar"],
+ ijar = [Label("//toolchains:ijar_prebuilt_binary")],
+ singlejar = [Label("//toolchains:prebuilt_singlejar")],
)
# The new toolchain is using all the tools from sources.
NONPREBUILT_TOOLCHAIN_CONFIGURATION = dict(
- ijar = ["@remote_java_tools//:ijar_cc_binary"],
- singlejar = ["@remote_java_tools//:singlejar_cc_bin"],
+ ijar = [Label("@remote_java_tools//:ijar_cc_binary")],
+ singlejar = [Label("@remote_java_tools//:singlejar_cc_bin")],
)
_DEFAULT_SOURCE_VERSION = "8"
@@ -159,7 +159,7 @@
)
native.toolchain(
name = name + "_default_definition",
- toolchain_type = "@bazel_tools//tools/jdk:toolchain_type",
+ toolchain_type = Label("@bazel_tools//tools/jdk:toolchain_type"),
target_settings = [name + "_default_version_setting"],
toolchain = name,
)
@@ -171,7 +171,7 @@
)
native.toolchain(
name = name + "_definition",
- toolchain_type = "@bazel_tools//tools/jdk:toolchain_type",
+ toolchain_type = Label("@bazel_tools//tools/jdk:toolchain_type"),
target_settings = [name + "_version_setting"],
toolchain = name,
exec_compatible_with = exec_compatible_with,
@@ -189,8 +189,8 @@
for src in srcs:
native.genrule(
name = "gen_%s" % src,
- srcs = ["//toolchains:current_java_runtime"],
- toolchains = ["//toolchains:current_java_runtime"],
+ srcs = [Label("//toolchains:current_java_runtime")],
+ toolchains = [Label("//toolchains:current_java_runtime")],
cmd = "cp $(JAVABASE)/%s $@" % src,
outs = [src],
tags = ["manual"],
diff --git a/toolchains/local_java_repository.bzl b/toolchains/local_java_repository.bzl
index 45086f9..9439115 100644
--- a/toolchains/local_java_repository.bzl
+++ b/toolchains/local_java_repository.bzl
@@ -93,7 +93,7 @@
native.toolchain(
name = "runtime_toolchain_definition",
target_settings = [":%s_settings_alias" % name],
- toolchain_type = "@bazel_tools//tools/jdk:runtime_toolchain_type",
+ toolchain_type = Label("@bazel_tools//tools/jdk:runtime_toolchain_type"),
toolchain = runtime_name,
)