| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| # Setup Kotlin |
| |
| 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", "kotlinc_version", "versions") |
| |
| KOTLINC_RELEASE = versions.KOTLIN_CURRENT_COMPILER_RELEASE |
| |
| kotlin_repositories( |
| compiler_release = kotlinc_version( |
| release = "2.0.0", |
| sha256 = "ef578730976154fd2c5968d75af8c2703b3de84a78dffe913f670326e149da3b", |
| ) if KOTLINC_RELEASE.version == "1.9.22" else kotlinc_version( |
| release = KOTLINC_RELEASE.version, |
| sha256 = KOTLINC_RELEASE.sha256, |
| ), |
| ) |
| |
| register_toolchains("//:kotlin_toolchain") |
| |
| ## JVM External |
| |
| versions.use_repository( |
| name = "io_bazel_stardoc", |
| rule = http_archive, |
| version = versions.IO_BAZEL_STARDOC, |
| ) |
| |
| RULES_JVM_EXTERNAL_TAG = "6.6" |
| |
| RULES_JVM_EXTERNAL_SHA = "3afe5195069bd379373528899c03a3072f568d33bd96fe037bd43b1f590535e7" |
| |
| http_archive( |
| name = "rules_jvm_external", |
| sha256 = RULES_JVM_EXTERNAL_SHA, |
| strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, |
| url = "https://github.com/bazelbuild/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % ( |
| RULES_JVM_EXTERNAL_TAG, |
| RULES_JVM_EXTERNAL_TAG, |
| ), |
| ) |
| |
| 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() |
| |
| KOTLIN_TO_COMPOSE = { |
| "1.9.22": [ |
| "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:2.0.0", |
| "androidx.core:core-ktx:1.7.0", |
| "androidx.appcompat:appcompat:1.4.1", |
| "androidx.activity:activity-compose:1.3.0", |
| "androidx.compose.material:material:1.2.1", |
| "androidx.compose.ui:ui:1.2.1", |
| "androidx.compose.ui:ui-tooling:1.2.1", |
| "androidx.compose.runtime:runtime:1.2.1", |
| ], |
| "2.1.0": [ |
| "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:2.1.0", |
| "androidx.core:core-ktx:1.15.0", |
| "androidx.appcompat:appcompat:1.7.0", |
| "androidx.activity:activity-compose:1.7.0", |
| "androidx.collection:collection:1.5.0-alpha06", |
| "androidx.compose.material:material:1.7.6", |
| "androidx.compose.ui:ui:1.7.6", |
| "androidx.compose.ui:ui-tooling:1.7.6", |
| "androidx.compose.runtime:runtime:1.7.6", |
| ], |
| } |
| |
| load("@rules_jvm_external//:defs.bzl", "maven_install") |
| |
| maven_install( |
| name = "maven", |
| artifacts = KOTLIN_TO_COMPOSE[KOTLINC_RELEASE.version], |
| fetch_sources = True, |
| maven_install_json = "//:maven_install-%s.json" % KOTLINC_RELEASE.version, |
| repositories = [ |
| "https://maven.google.com", |
| "https://repo1.maven.org/maven2", |
| ], |
| resolver = "coursier" if KOTLINC_RELEASE.version == "1.9.22" else "maven", |
| ) |
| |
| load("@maven//:defs.bzl", "pinned_maven_install") |
| |
| pinned_maven_install() |
| |
| http_archive( |
| name = "bazel_skylib", |
| sha256 = versions.SKYLIB_SHA, |
| urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/%s/bazel-skylib-%s.tar.gz" % ( |
| versions.SKYLIB_VERSION, |
| versions.SKYLIB_VERSION, |
| )], |
| ) |
| |
| ## Android |
| |
| http_archive( |
| name = "rules_android", |
| sha256 = versions.ANDROID.SHA, |
| strip_prefix = "rules_android-%s" % versions.ANDROID.VERSION, |
| urls = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip" % versions.ANDROID.VERSION], |
| ) |
| |
| load("@rules_android//android:rules.bzl", "android_sdk_repository") |
| |
| android_sdk_repository(name = "androidsdk") |
| |
| android_ndk_repository( |
| name = "androidndk", |
| api_level = 21, |
| ) |