| 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() |
| |
| register_toolchains("//bzl:experimental_toolchain") |
| |
| load("@rules_jvm_external//:defs.bzl", "maven_install") |
| |
| maven_install( |
| name = "maven_rules_kotlin_example", |
| artifacts = [ |
| "com.google.auto.value:auto-value:1.6.5", |
| "com.google.auto.value:auto-value-annotations:1.6.5", |
| ], |
| repositories = [ |
| "https://maven.google.com", |
| "https://repo1.maven.org/maven2", |
| ], |
| ) |