[6.2.0] Update java_tools v12.1 (#18197)

* Separate prebuilt darwin java_tools for x86_64 and arm64

This is step 1 of https://github.com/bazelbuild/bazel/issues/17780

Closes #17767.

PiperOrigin-RevId: 517115807
Change-Id: If2bb85a8a15fd126ab52e5738e3d9558da813090

* Update rules_java and remove references to "remote_java_tools_darwin"

This is the last step of https://github.com/bazelbuild/bazel/issues/17780

This updates rules_java to v5.5.0 for bazel and bazel_tools and cleans up any remaining references to remote_java_tools_darwin,  remote_java_tools_test_darwin, and remote_java_tools_darwin_for_testing

Closes #17843.

PiperOrigin-RevId: 519059189
Change-Id: Ic04f3a2e5cc12e6b7731f6d8a3551553e172e000

* Update java_tools v12.1

https://github.com/bazelbuild/java_tools/issues/69

Closes #18097.

PiperOrigin-RevId: 526116409
Change-Id: I4f31046d7e5b149c5035b0ede0699d74685a1eb8

---------

Co-authored-by: hvd <hvadehra@gmail.com>
diff --git a/MODULE.bazel b/MODULE.bazel
index 6f1043f..8f2782a 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -20,7 +20,7 @@
 
 # The following are required when building without WORKSPACE SUFFIX
 bazel_dep(name = "rules_cc", version = "0.0.2")
-bazel_dep(name = "rules_java", version = "5.1.0")
+bazel_dep(name = "rules_java", version = "5.5.0")
 bazel_dep(name = "rules_proto", version = "4.0.0")
 
 # TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
diff --git a/WORKSPACE b/WORKSPACE
index 0d78fcf..ff47163 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -517,7 +517,14 @@
 
 # Used in src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.
 dist_http_archive(
-    name = "remote_java_tools_darwin_for_testing",
+    name = "remote_java_tools_darwin_x86_64_for_testing",
+    patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
+    patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
+)
+
+# Used in src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.
+dist_http_archive(
+    name = "remote_java_tools_darwin_arm64_for_testing",
     patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
     patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
 )
@@ -545,7 +552,14 @@
 
 # Used in src/test/shell/bazel/testdata/jdk_http_archives.
 dist_http_archive(
-    name = "remote_java_tools_test_darwin",
+    name = "remote_java_tools_test_darwin_x86_64",
+    patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
+    patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
+)
+
+# Used in src/test/shell/bazel/testdata/jdk_http_archives.
+dist_http_archive(
+    name = "remote_java_tools_test_darwin_arm64",
     patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
     patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
 )
diff --git a/distdir_deps.bzl b/distdir_deps.bzl
index 9a73732..717f843 100644
--- a/distdir_deps.bzl
+++ b/distdir_deps.bzl
@@ -371,64 +371,80 @@
             "remote_java_tools_test",
             "remote_java_tools_for_testing",
         ],
-        "archive": "java_tools-v11.12.zip",
-        "sha256": "af20366f926b1dadf8c084a51936116ef2f0db90e73e94b406c4ad8180f0788d",
+        "archive": "java_tools-v12.1.zip",
+        "sha256": "0db35ec44745fd15b77d9df954e70a4fcf74554dd5bfe3f6e6cb6bbdc1f1c649",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.12/java_tools-v11.12.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.12/java_tools-v11.12.zip",
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.1/java_tools-v12.1.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.1/java_tools-v12.1.zip",
         ],
         "used_in": [
             "test_WORKSPACE_files",
         ],
-        "package_version": "11.12",
+        "package_version": "12.1",
     },
     "remote_java_tools_linux": {
         "aliases": [
             "remote_java_tools_test_linux",
             "remote_java_tools_linux_for_testing",
         ],
-        "archive": "java_tools_linux-v11.12.zip",
-        "sha256": "37f79597f5b8c1501b9c66ded8ac68c61205ad39ef3ceda0e24fbd0afa3cd97f",
+        "archive": "java_tools_linux-v12.1.zip",
+        "sha256": "093ecac3b42fcbc3621d08edc3ae3c8b0bc2bf56a0d9a85ddcdb1e0bcf10cbc7",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.12/java_tools_linux-v11.12.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.12/java_tools_linux-v11.12.zip",
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.1/java_tools_linux-v12.1.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.1/java_tools_linux-v12.1.zip",
         ],
         "used_in": [
             "test_WORKSPACE_files",
         ],
-        "package_version": "11.12",
+        "package_version": "12.1",
     },
     "remote_java_tools_windows": {
         "aliases": [
             "remote_java_tools_test_windows",
             "remote_java_tools_windows_for_testing",
         ],
-        "archive": "java_tools_windows-v11.12.zip",
-        "sha256": "43432ce4814513d6497661b4fede691982b3bdef7a1907808b096291f56a8001",
+        "archive": "java_tools_windows-v12.1.zip",
+        "sha256": "1df7cc7fac54f437f43c24c019462e13058f394fdba5a64f566b92e8af18d0cf",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.12/java_tools_windows-v11.12.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.12/java_tools_windows-v11.12.zip",
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.1/java_tools_windows-v12.1.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.1/java_tools_windows-v12.1.zip",
         ],
         "used_in": [
             "test_WORKSPACE_files",
         ],
-        "package_version": "11.12",
+        "package_version": "12.1",
     },
-    "remote_java_tools_darwin": {
+    "remote_java_tools_darwin_x86_64": {
         "aliases": [
-            "remote_java_tools_test_darwin",
-            "remote_java_tools_darwin_for_testing",
+            "remote_java_tools_test_darwin_x86_64",
+            "remote_java_tools_darwin_x86_64_for_testing",
         ],
-        "archive": "java_tools_darwin-v11.12.zip",
-        "sha256": "aed319892b638efabd08405b8f835770e13e2465d20459876c5f457f2b6426f3",
+        "archive": "java_tools_darwin_x86_64-v12.1.zip",
+        "sha256": "16ca145203a62a1fcd6ae50513c0935d938591cb309b9b1172e257c57873f60d",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.12/java_tools_darwin-v11.12.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.12/java_tools_darwin-v11.12.zip",
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.1/java_tools_darwin_x86_64-v12.1.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.1/java_tools_darwin_x86_64-v12.1.zip",
         ],
         "used_in": [
             "test_WORKSPACE_files",
         ],
-        "package_version": "11.12",
+        "package_version": "12.1",
+    },
+    "remote_java_tools_darwin_arm64": {
+        "aliases": [
+            "remote_java_tools_test_darwin_arm64",
+            "remote_java_tools_darwin_arm64_for_testing",
+        ],
+        "archive": "java_tools_darwin_arm64-v12.1.zip",
+        "sha256": "1d8e575e558782c2ceec0940e424f0e2df56b0df3d7fae68333eaceef2c4e41c",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.1/java_tools_darwin_arm64-v12.1.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.1/java_tools_darwin_arm64-v12.1.zip",
+        ],
+        "used_in": [
+            "test_WORKSPACE_files",
+        ],
+        "package_version": "12.1",
     },
     "remotejdk11_linux": {
         "aliases": [
diff --git a/src/BUILD b/src/BUILD
index 4bf0179..b8e6224 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -660,11 +660,13 @@
         "@openjdk_macos_x86_64_minimal//file",
         "@openjdk_win_minimal//file",
         "@remote_coverage_tools//:WORKSPACE",
-        "@remote_java_tools_darwin_for_testing//:WORKSPACE",
+        "@remote_java_tools_darwin_x86_64_for_testing//:WORKSPACE",
+        "@remote_java_tools_darwin_arm64_for_testing//:WORKSPACE",
         "@remote_java_tools_for_testing//:WORKSPACE",
         "@remote_java_tools_linux_for_testing//:WORKSPACE",
         "@remote_java_tools_test//:WORKSPACE",
-        "@remote_java_tools_test_darwin//:WORKSPACE",
+        "@remote_java_tools_test_darwin_x86_64//:WORKSPACE",
+        "@remote_java_tools_test_darwin_arm64//:WORKSPACE",
         "@remote_java_tools_test_linux//:WORKSPACE",
         "@remote_java_tools_test_windows//:WORKSPACE",
         "@remote_java_tools_windows_for_testing//:WORKSPACE",
diff --git a/src/MODULE.tools b/src/MODULE.tools
index a31ef59..b82be48 100644
--- a/src/MODULE.tools
+++ b/src/MODULE.tools
@@ -1,7 +1,7 @@
 module(name = "bazel_tools")
 
 bazel_dep(name = "rules_cc", version = "0.0.2")
-bazel_dep(name = "rules_java", version = "5.3.5")
+bazel_dep(name = "rules_java", version = "5.5.0")
 bazel_dep(name = "rules_license", version = "0.0.3")
 bazel_dep(name = "rules_proto", version = "4.0.0")
 bazel_dep(name = "rules_python", version = "0.4.0")
@@ -24,7 +24,8 @@
     "remote_java_tools",
     "remote_java_tools_linux",
     "remote_java_tools_windows",
-    "remote_java_tools_darwin",
+    "remote_java_tools_darwin_x86_64",
+    "remote_java_tools_darwin_arm64",
 )
 
 sh_configure_extension = use_extension("//tools/sh:sh_configure.bzl", "sh_configure_extension")
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
index db866b2..de40a7d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
@@ -90,7 +90,8 @@
         "remote_java_tools",
         "remote_java_tools_linux",
         "remote_java_tools_windows",
-        "remote_java_tools_darwin",
+        "remote_java_tools_darwin_x86_64",
+        "remote_java_tools_darwin_arm64",
         "rules_cc",
         "rules_java",
         "rules_proto",
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.tmpl b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.tmpl
index 91365fc..df83feb 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.tmpl
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.tmpl
@@ -254,7 +254,12 @@
 
 maybe(
     http_archive,
-{remote_java_tools_darwin}
+{remote_java_tools_darwin_x86_64}
+)
+
+maybe(
+    http_archive,
+{remote_java_tools_darwin_arm64}
 )
 
 maybe(
diff --git a/src/test/py/bazel/test_base.py b/src/test/py/bazel/test_base.py
index 35388aa..daae7d4 100644
--- a/src/test/py/bazel/test_base.py
+++ b/src/test/py/bazel/test_base.py
@@ -77,7 +77,8 @@
       'remotejdk18_win_for_testing',
       'remotejdk18_win_arm64_for_testing',
       'remote_java_tools_for_testing',
-      'remote_java_tools_darwin_for_testing',
+      'remote_java_tools_darwin_x86_64_for_testing',
+      'remote_java_tools_darwin_arm64_for_testing',
       'remote_java_tools_linux_for_testing',
       'remote_java_tools_windows_for_testing',
       'remote_coverage_tools',
diff --git a/src/test/shell/bazel/bazel_coverage_java_test.sh b/src/test/shell/bazel/bazel_coverage_java_test.sh
index a7b0e31..8a110ae 100755
--- a/src/test/shell/bazel/bazel_coverage_java_test.sh
+++ b/src/test/shell/bazel/bazel_coverage_java_test.sh
@@ -43,7 +43,8 @@
     inplace-sed "/override_repository=remote_java_tools=/d" "$TEST_TMPDIR/bazelrc"
     inplace-sed "/override_repository=remote_java_tools_linux=/d" "$TEST_TMPDIR/bazelrc"
     inplace-sed "/override_repository=remote_java_tools_windows=/d" "$TEST_TMPDIR/bazelrc"
-    inplace-sed "/override_repository=remote_java_tools_darwin=/d" "$TEST_TMPDIR/bazelrc"
+    inplace-sed "/override_repository=remote_java_tools_darwin_x86_64=/d" "$TEST_TMPDIR/bazelrc"
+    inplace-sed "/override_repository=remote_java_tools_darwin_arm64=/d" "$TEST_TMPDIR/bazelrc"
 fi
 JAVA_TOOLS_PREBUILT_ZIP_FILE_URL=${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL:-}
 
@@ -80,7 +81,11 @@
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 http_archive(
-    name = "remote_java_tools_darwin",
+    name = "remote_java_tools_darwin_x86_64",
+    urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
+)
+http_archive(
+    name = "remote_java_tools_darwin_arm64",
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 EOF
diff --git a/src/test/shell/bazel/bazel_java17_test.sh b/src/test/shell/bazel/bazel_java17_test.sh
index 89f40e9..7b7d1c7 100755
--- a/src/test/shell/bazel/bazel_java17_test.sh
+++ b/src/test/shell/bazel/bazel_java17_test.sh
@@ -91,7 +91,11 @@
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 http_archive(
-    name = "remote_java_tools_darwin",
+    name = "remote_java_tools_darwin_x86_64",
+    urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
+)
+http_archive(
+    name = "remote_java_tools_darwin_arm64",
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 EOF
diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh
index a30ba12..051fd17 100755
--- a/src/test/shell/bazel/bazel_java_test.sh
+++ b/src/test/shell/bazel/bazel_java_test.sh
@@ -82,7 +82,8 @@
   inplace-sed "/override_repository=remote_java_tools=/d" "$TEST_TMPDIR/bazelrc"
   inplace-sed "/override_repository=remote_java_tools_linux=/d" "$TEST_TMPDIR/bazelrc"
   inplace-sed "/override_repository=remote_java_tools_windows=/d" "$TEST_TMPDIR/bazelrc"
-  inplace-sed "/override_repository=remote_java_tools_darwin=/d" "$TEST_TMPDIR/bazelrc"
+  inplace-sed "/override_repository=remote_java_tools_darwin_x86_64=/d" "$TEST_TMPDIR/bazelrc"
+  inplace-sed "/override_repository=remote_java_tools_darwin_arm64=/d" "$TEST_TMPDIR/bazelrc"
 fi
 JAVA_TOOLS_PREBUILT_ZIP_FILE_URL=${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL:-}
 
@@ -129,7 +130,11 @@
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 http_archive(
-    name = "remote_java_tools_darwin",
+    name = "remote_java_tools_darwin_x86_64",
+    urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
+)
+http_archive(
+    name = "remote_java_tools_darwin_arm64",
     urls = ["${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL}"]
 )
 EOF
diff --git a/src/test/shell/bazel/testdata/BUILD b/src/test/shell/bazel/testdata/BUILD
index 97496d5..9ac2f11 100644
--- a/src/test/shell/bazel/testdata/BUILD
+++ b/src/test/shell/bazel/testdata/BUILD
@@ -49,7 +49,8 @@
         "remote_java_tools_test",
         "remote_java_tools_test_linux",
         "remote_java_tools_test_windows",
-        "remote_java_tools_test_darwin",
+        "remote_java_tools_test_darwin_x86_64",
+        "remote_java_tools_test_darwin_arm64",
         "openjdk11_linux_archive",
         "openjdk11_darwin_archive",
         "openjdk11_darwin_aarch64_archive",
diff --git a/src/test/shell/bazel/testdata/jdk_http_archives.tmpl b/src/test/shell/bazel/testdata/jdk_http_archives.tmpl
index 1394407..8b0a0a7 100644
--- a/src/test/shell/bazel/testdata/jdk_http_archives.tmpl
+++ b/src/test/shell/bazel/testdata/jdk_http_archives.tmpl
@@ -12,7 +12,11 @@
 )
 
 http_archive(
-    {remote_java_tools_test_darwin}
+    {remote_java_tools_test_darwin_x86_64}
+)
+
+http_archive(
+    {remote_java_tools_test_darwin_arm64}
 )
 
 #################################### JDK 11 ####################################
diff --git a/src/test/shell/testenv.sh.tmpl b/src/test/shell/testenv.sh.tmpl
index fb8d963..20d3a62 100755
--- a/src/test/shell/testenv.sh.tmpl
+++ b/src/test/shell/testenv.sh.tmpl
@@ -298,9 +298,11 @@
         "openjdk_win_minimal"
         "remote_coverage_tools"
         "remote_java_tools_for_testing"
-        "remote_java_tools_darwin_for_testing"
+        "remote_java_tools_darwin_x86_64_for_testing"
+        "remote_java_tools_darwin_arm64_for_testing"
         "remote_java_tools_test"
-        "remote_java_tools_test_darwin"
+        "remote_java_tools_test_darwin_x86_64"
+        "remote_java_tools_test_darwin_arm64"
         "remote_java_tools_test_linux"
         "remote_java_tools_test_windows"
         "remote_java_tools_linux_for_testing"
diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
index 5d00b96..92b83e5 100644
--- a/tools/jdk/BUILD.tools
+++ b/tools/jdk/BUILD.tools
@@ -146,7 +146,8 @@
     )
     for OS in [
         "linux",
-        "darwin",
+        "darwin_x86_64",
+        "darwin_arm64",
         "windows",
     ]
 ]
@@ -163,7 +164,8 @@
     name = "ijar_prebuilt_binary_or_cc_binary",
     actual = select({
         "//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
-        "//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+        "//src/conditions:darwin_x86_64": ":ijar_prebuilt_binary_darwin_x86_64",
+        "//src/conditions:darwin_arm64": ":ijar_prebuilt_binary_darwin_arm64",
         "//src/conditions:windows": ":ijar_prebuilt_binary_windows",
         "//conditions:default": "@remote_java_tools//:ijar_cc_binary",
     }),
@@ -173,7 +175,8 @@
     name = "ijar_prebuilt_binary",
     actual = select({
         "//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
-        "//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+        "//src/conditions:darwin_x86_64": ":ijar_prebuilt_binary_darwin_x86_64",
+        "//src/conditions:darwin_arm64": ":ijar_prebuilt_binary_darwin_arm64",
         "//src/conditions:windows": ":ijar_prebuilt_binary_windows",
     }),
 )
@@ -193,7 +196,8 @@
     name = "singlejar_prebuilt_or_cc_binary",
     actual = select({
         "//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
-        "//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+        "//src/conditions:darwin_x86_64": ":prebuilt_singlejar_darwin_x86_64",
+        "//src/conditions:darwin_arm64": ":prebuilt_singlejar_darwin_arm64",
         "//src/conditions:windows": ":prebuilt_singlejar_windows",
         "//conditions:default": "@remote_java_tools//:singlejar_cc_bin",
     }),
@@ -203,7 +207,8 @@
     name = "prebuilt_singlejar",
     actual = select({
         "//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
-        "//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+        "//src/conditions:darwin_x86_64": ":prebuilt_singlejar_darwin_x86_64",
+        "//src/conditions:darwin_arm64": ":prebuilt_singlejar_darwin_arm64",
         "//src/conditions:windows": ":prebuilt_singlejar_windows",
     }),
 )