| 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], |
| ) |
| |
| http_archive( |
| name = "bazel_features", |
| sha256 = versions.BAZEL_FEATURES.sha256, |
| strip_prefix = versions.BAZEL_FEATURES.strip_prefix_template.format(version = versions.BAZEL_FEATURES.version), |
| urls = [url.format(version = versions.BAZEL_FEATURES.version) for url in versions.BAZEL_FEATURES.url_templates], |
| ) |
| |
| load("@bazel_features//:deps.bzl", "bazel_features_deps") |
| |
| bazel_features_deps() |
| |
| http_archive( |
| name = "rules_cc", |
| sha256 = versions.RULES_CC.sha256, |
| strip_prefix = versions.RULES_CC.strip_prefix_template.format(version = versions.RULES_CC.version), |
| urls = [url.format(version = versions.RULES_CC.version) for url in versions.RULES_CC.url_templates], |
| ) |
| |
| load("@rules_cc//cc:repositories.bzl", "rules_cc_dependencies", "rules_cc_toolchains") |
| |
| rules_cc_dependencies() |
| |
| rules_cc_toolchains() |
| |
| http_archive( |
| name = "rules_java", |
| sha256 = versions.RULES_JAVA.sha256, |
| urls = [url.format(version = versions.RULES_JAVA.version) for url in versions.RULES_JAVA.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 = [ |
| "com.google.dagger:dagger:2.50", |
| "com.google.dagger:dagger-compiler:2.50", |
| "com.google.dagger:dagger-producers:2.50", |
| "com.squareup.anvil:compiler:2.4.9", |
| "com.squareup.anvil:annotations:2.4.9", |
| "androidx.activity:activity:1.0.0", |
| "androidx.annotation:annotation:1.1.0", |
| "androidx.appcompat:appcompat-resources:1.1.0", |
| "androidx.appcompat:appcompat:1.1.0", |
| "androidx.arch.core:core-common:2.1.0", |
| "androidx.arch.core:core-runtime:2.0.0", |
| "androidx.cardview:cardview:1.0.0", |
| "androidx.collection:collection:1.1.0", |
| "androidx.coordinatorlayout:coordinatorlayout:1.1.0", |
| "androidx.core:core-ktx:1.3.0", |
| "androidx.core:core:1.3.0", |
| "androidx.cursoradapter:cursoradapter:1.0.0", |
| "androidx.customview:customview:1.0.0", |
| "androidx.drawerlayout:drawerlayout:1.0.0", |
| "androidx.fragment:fragment:1.1.0", |
| "androidx.interpolator:interpolator:1.0.0", |
| "androidx.lifecycle:lifecycle-common:2.1.0", |
| "androidx.lifecycle:lifecycle-livedata-core:2.0.0", |
| "androidx.lifecycle:lifecycle-livedata:2.0.0", |
| "androidx.lifecycle:lifecycle-runtime:2.1.0", |
| "androidx.lifecycle:lifecycle-viewmodel:2.1.0", |
| "androidx.loader:loader:1.0.0", |
| "androidx.recyclerview:recyclerview:1.1.0", |
| "androidx.savedstate:savedstate:1.0.0", |
| "androidx.transition:transition:1.2.0", |
| "androidx.vectordrawable:vectordrawable-animated:1.1.0", |
| "androidx.vectordrawable:vectordrawable:1.1.0", |
| "androidx.versionedparcelable:versionedparcelable:1.1.0", |
| "androidx.viewpager2:viewpager2:1.0.0", |
| "androidx.viewpager:viewpager:1.0.0", |
| "com.google.android.material:material:1.1.0", |
| "javax.inject:javax.inject:1", |
| "junit:junit:4.13", |
| "org.jetbrains.kotlin:kotlin-test:1.5.10", |
| "com.google.truth:truth:1.0.1", |
| "org.jetbrains:annotations:13.0", |
| ], |
| excluded_artifacts = [ |
| "org.jetbrains.kotlin:kotlin-stdlib", |
| "org.jetbrains.kotlin:kotlin-stdlib-jdk8", |
| "org.jetbrains.kotlin:kotlin-stdlib-jdk7", |
| "org.jetbrains.kotlin:kotlin-compiler-embeddable", |
| "org.jetbrains.kotlin:kotlin-reflect", |
| "org.jetbrains.kotlin:kotlin-script-runtime", |
| ], |
| repositories = [ |
| "https://maven.google.com", |
| "https://repo1.maven.org/maven2", |
| ], |
| use_starlark_android_rules = True, |
| ) |