Register Java 8 runtimes with Bzlmod

Copybara Import from https://github.com/bazelbuild/rules_java/pull/181

BEGIN_PUBLIC
Register Java 8 runtimes with Bzlmod (#181)

These runtimes were only registered when using WORKSPACE.

Work towards bazelbuild/bazel#21769

Closes #181
END_PUBLIC

COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_java/pull/181 from fmeum:java-8 7a05002ac90e6d561503a0dc89cacda7f8b14895
PiperOrigin-RevId: 621488116
Change-Id: I106d991108eaff91379f5391b5f908e7d5793aab
diff --git a/MODULE.bazel b/MODULE.bazel
index 97b74ba..9562fe7 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -35,6 +35,15 @@
 
 # Declare all remote jdk toolchain config repos
 JDKS = {
+    # Must match JDK repos defined in remote_jdk8_repos()
+    "8": [
+        "linux",
+        "linux_aarch64",
+        "linux_s390x",
+        "macos",
+        "macos_aarch64",
+        "windows",
+    ],
     # Must match JDK repos defined in remote_jdk11_repos()
     "11": [
         "linux",
@@ -70,7 +79,7 @@
     ],
 }
 
-REMOTE_JDK_REPOS = [("remotejdk" + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
+REMOTE_JDK_REPOS = [(("remote_jdk" if version == "8" else "remotejdk") + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
 
 [use_repo(
     toolchains,
diff --git a/java/extensions.bzl b/java/extensions.bzl
index 0fff36b..3699aca 100644
--- a/java/extensions.bzl
+++ b/java/extensions.bzl
@@ -13,11 +13,20 @@
 # limitations under the License.
 """Module extensions for rules_java."""
 
-load("//java:repositories.bzl", "java_tools_repos", "local_jdk_repo", "remote_jdk11_repos", "remote_jdk17_repos", "remote_jdk21_repos")
+load(
+    "//java:repositories.bzl",
+    "java_tools_repos",
+    "local_jdk_repo",
+    "remote_jdk11_repos",
+    "remote_jdk17_repos",
+    "remote_jdk21_repos",
+    "remote_jdk8_repos",
+)
 
 def _toolchains_impl(_ctx):
     java_tools_repos()
     local_jdk_repo()
+    remote_jdk8_repos()
     remote_jdk11_repos()
     remote_jdk17_repos()
     remote_jdk21_repos()
diff --git a/java/repositories.bzl b/java/repositories.bzl
index a97e150..beef765 100644
--- a/java/repositories.bzl
+++ b/java/repositories.bzl
@@ -167,19 +167,6 @@
         ],
         version = "8",
     )
-    REMOTE_JDK8_REPOS = [
-        "remote_jdk8_linux_aarch64",
-        "remote_jdk8_linux_s390x",
-        "remote_jdk8_linux",
-        "remote_jdk8_macos_aarch64",
-        "remote_jdk8_macos",
-        "remote_jdk8_windows",
-    ]
-    for name in REMOTE_JDK8_REPOS:
-        native.register_toolchains(
-            "@" + name + "_toolchain_config_repo//:toolchain",
-            "@" + name + "_toolchain_config_repo//:bootstrap_runtime_toolchain",
-        )
 
 def remote_jdk11_repos():
     """Imports OpenJDK 11 repositories."""
@@ -581,6 +568,8 @@
         name: The name of this macro (not used)
     """
     JDKS = {
+        # Must match JDK repos defined in remote_jdk8_repos()
+        "8": ["linux", "linux_aarch64", "linux_s390x", "macos", "macos_aarch64", "windows"],
         # Must match JDK repos defined in remote_jdk11_repos()
         "11": ["linux", "linux_aarch64", "linux_ppc64le", "linux_s390x", "macos", "macos_aarch64", "win", "win_arm64"],
         # Must match JDK repos defined in remote_jdk17_repos()
@@ -589,7 +578,7 @@
         "21": ["linux", "linux_aarch64", "macos", "macos_aarch64", "win"],
     }
 
-    REMOTE_JDK_REPOS = [("remotejdk" + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
+    REMOTE_JDK_REPOS = [(("remote_jdk" if version == "8" else "remotejdk") + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
 
     native.register_toolchains(
         "//toolchains:all",