| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| http_archive( |
| name = "rules_kotlin", |
| sha256 = "34e8c0351764b71d78f76c8746e98063979ce08dcf1a91666f3f3bc2949a533d", |
| url = "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.9.5/rules_kotlin-v1.9.5.tar.gz", |
| ) |
| |
| load("@rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions") |
| |
| http_archive( |
| name = "rules_jvm_external", |
| sha256 = versions.RULES_JVM_EXTERNAL.sha256, |
| strip_prefix = "rules_jvm_external-%s" % versions.RULES_JVM_EXTERNAL.version, |
| urls = [url.format(version = versions.RULES_JVM_EXTERNAL.version) for url in versions.RULES_JVM_EXTERNAL.url_templates], |
| ) |
| |
| http_archive( |
| name = "rules_android", |
| sha256 = versions.RULES_ANDROID.sha256, |
| strip_prefix = versions.RULES_ANDROID.strip_prefix_template.format(version = versions.RULES_ANDROID.version), |
| urls = [url.format(version = versions.RULES_ANDROID.version) for url in versions.RULES_ANDROID.url_templates], |
| ) |
| |
| http_archive( |
| name = "bazel_skylib", |
| sha256 = versions.BAZEL_SKYLIB.sha256, |
| urls = [url.format(version = versions.BAZEL_SKYLIB.version) for url in versions.BAZEL_SKYLIB.url_templates], |
| ) |
| |
| # Android rules dependencies |
| load("@rules_android//:prereqs.bzl", "rules_android_prereqs") |
| |
| rules_android_prereqs() |
| |
| ##### rules_java setup for rules_android ##### |
| load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") |
| |
| rules_java_dependencies() |
| |
| # note that the following line is what is minimally required from protobuf for the java rules |
| # consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl |
| load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility |
| |
| proto_bazel_features(name = "proto_bazel_features") |
| |
| # register toolchains |
| load("@rules_java//java:repositories.bzl", "rules_java_toolchains") |
| |
| rules_java_toolchains() |
| |
| ##### rules_jvm_external setup for rules_android ##### |
| load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") |
| |
| rules_jvm_external_deps() |
| |
| load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") |
| |
| rules_jvm_external_setup() |
| |
| ##### rules_android setup ##### |
| load("@rules_android//:defs.bzl", "rules_android_workspace") |
| |
| rules_android_workspace() |
| |
| # Android SDK setup |
| load("@rules_android//rules:rules.bzl", "android_sdk_repository") |
| |
| android_sdk_repository(name = "androidsdk") |
| |
| register_toolchains( |
| "@rules_android//toolchains/android:android_default_toolchain", |
| "@rules_android//toolchains/android_sdk:android_sdk_tools", |
| ) |
| |
| kotlin_repositories() |
| |
| load("@rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") |
| |
| kt_register_toolchains() |
| |
| load("@rules_jvm_external//:defs.bzl", "maven_install") |
| |
| maven_install( |
| name = "maven_rules_kotlin_example", |
| aar_import_bzl_label = "@rules_android//rules:rules.bzl", |
| artifacts = [ |
| "junit:junit:4.13.2", |
| "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.0.1", |
| ], |
| repositories = [ |
| "https://repo1.maven.org/maven2", |
| ], |
| use_starlark_android_rules = True, |
| ) |