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")