Introduce more dependencies in Bazel Bzlmod build

Working towards: https://github.com/bazelbuild/bazel/issues/18957

RELNOTES:
PiperOrigin-RevId: 552886589
Change-Id: I2d170deae5bdaf05dbece4779ffb5b1137ee7b81
diff --git a/MODULE.bazel b/MODULE.bazel
index 77b720d..9d70633 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,5 +1,3 @@
-# To build Bazel with Bzlmod: `bazel build --enable_bzlmod //src:bazel_nojdk`.
-
 module(
     name = "bazel",
     version = "7.0.0-pre",
@@ -20,15 +18,33 @@
 bazel_dep(name = "rules_java", version = "6.3.0")
 bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
 bazel_dep(name = "rules_jvm_external", version = "5.2")
-bazel_dep(name = "rules_python", version = "0.19.0")
+bazel_dep(name = "rules_python", version = "0.24.0")
 bazel_dep(name = "rules_testing", version = "0.0.4")
 
+# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
+bazel_dep(name = "remoteapis", version = "")
+bazel_dep(name = "googleapis", version = "")
+
 single_version_override(
     module_name = "rules_jvm_external",
     patch_strip = 1,
     patches = ["//third_party:rules_jvm_external_5.2.patch"],
 )
 
+local_path_override(
+    module_name = "remoteapis",
+    path = "./third_party/remoteapis",
+)
+
+local_path_override(
+    module_name = "googleapis",
+    path = "./third_party/googleapis",
+)
+
+# =========================================
+# Bazel Java dependencies
+# =========================================
+
 maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
 maven.install(
     # We don't yet specify the maven coordinates in the MODULE.bazel to avoid duplicating information.
@@ -41,35 +57,66 @@
 )
 use_repo(maven, "maven")
 
-# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
-bazel_dep(name = "remoteapis", version = "")
-bazel_dep(name = "googleapis", version = "")
-
-local_path_override(
-    module_name = "remoteapis",
-    path = "./third_party/remoteapis",
-)
-
-local_path_override(
-    module_name = "googleapis",
-    path = "./third_party/googleapis",
-)
+# =========================================
+# Other Bazel internal dependencies
+#   - embedded JDKs
+#   - repos for Debian build
+# =========================================
 
 bazel_internal_deps = use_extension("//:extensions.bzl", "bazel_internal_deps")
 use_repo(
     bazel_internal_deps,
-    "openjdk_linux_vanilla",
+    "debian_cc_deps",
     "openjdk_linux_aarch64_vanilla",
     "openjdk_linux_ppc64le_vanilla",
     "openjdk_linux_s390x_vanilla",
-    "openjdk_macos_x86_64_vanilla",
+    "openjdk_linux_vanilla",
     "openjdk_macos_aarch64_vanilla",
-    "openjdk_win_vanilla",
+    "openjdk_macos_x86_64_vanilla",
     "openjdk_win_arm64_vanilla",
+    "openjdk_win_vanilla",
 )
 
+# =========================================
+# Register platforms & toolchains
+# =========================================
+
+register_execution_platforms("//:default_host_platform")
+
 register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain")
 
-# Dev dependencies
+register_toolchains("//src/main/res:empty_rc_toolchain")
 
-bazel_dep(name = "googletest", version = "1.12.1", repo_name = "com_google_googletest", dev_dependency = True)
+# =========================================
+# Android tools dependencies
+# =========================================
+
+maven_android = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
+maven_android.install(
+    name = "maven_android",
+    # We don't yet specify the maven coordinates in the MODULE.bazel to avoid duplicating information.
+    # Always respect the maven_install.json file generated by rules_jvm_external from the WORKSPACE file.
+    # TODO(pcloudy): We should add maven coordinates here when we enable Bzlmod in the default build for Bazel.
+    lock_file = "//src/tools/android:maven_android_install.json",
+    repositories = [
+        "https://dl.google.com/android/maven2",
+        "https://repo1.maven.org/maven2",
+    ],
+)
+use_repo(maven_android, "maven_android")
+
+bazel_android_deps = use_extension("//:extensions.bzl", "bazel_android_deps")
+use_repo(
+    bazel_android_deps,
+    "android_gmaven_r8",
+    "desugar_jdk_libs",
+)
+
+# =========================================
+# Bazel dev dependencies
+# =========================================
+
+bazel_dep(name = "googletest", version = "1.12.1", repo_name = "com_google_googletest")
+
+bazel_dev_deps = use_extension("//:extensions.bzl", "bazel_dev_deps")
+use_repo(bazel_dev_deps, "local_bazel_source_list")