module(
    name = "rules_rust_example_android",
    version = "0.0.0",
)

###############################################################################
# B A Z E L  C E N T R A L  R E G I S T R Y # https://registry.bazel.build/
###############################################################################
# https://github.com/bazelbuild/rules_rust/releases
bazel_dep(name = "rules_rust", version = "0.46.0")
local_path_override(
    module_name = "rules_rust",
    path = "../..",
)

bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_cc", version = "0.0.17")
bazel_dep(name = "rules_java", version = "8.6.3")
bazel_dep(name = "rules_jvm_external", version = "6.6")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
use_repo(maven, "maven")

bazel_dep(name = "rules_android", version = "0.6.0", repo_name = "build_bazel_rules_android")
bazel_dep(name = "rules_android_ndk", version = "0.1.2")

###############################################################################
# T O O L C H A I N S
###############################################################################

# Rust toolchain
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
    extra_target_triples = [
        "aarch64-linux-android",
    ],
)
use_repo(rust, "rust_toolchains")

register_toolchains("@rust_toolchains//:all")

java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
use_repo(java_toolchains, "remote_java_tools")
use_repo(java_toolchains, "remote_java_tools_linux")
use_repo(java_toolchains, "remote_java_tools_windows")
use_repo(java_toolchains, "remote_java_tools_darwin_x86_64")
use_repo(java_toolchains, "remote_java_tools_darwin_arm64")

JDKS = {
    # Must match JDK repos defined in remote_jdk21_repos()
    "21": [
        "linux",
        "linux_aarch64",
        "linux_ppc64le",
        "linux_s390x",
        "macos",
        "macos_aarch64",
        "win",
        "win_arm64",
    ],
}

REMOTE_JDK_REPOS = [
    (("remote_jdk" if version == "8" else "remotejdk") + version + "_" + platform)
    for version in JDKS
    for platform in JDKS[version]
]

[
    use_repo(
        java_toolchains,
        repo + "_toolchain_config_repo",
    )
    for repo in REMOTE_JDK_REPOS
]

[
    register_toolchains("@" + name + "_toolchain_config_repo//:all")
    for name in REMOTE_JDK_REPOS
]

android_ndk_repository_extension = use_extension(
    "@rules_android_ndk//:extension.bzl",
    "android_ndk_repository_extension",
)
use_repo(android_ndk_repository_extension, "androidndk")

register_toolchains("@androidndk//:all")
