blob: 61779d49d223fad2e468959fe7a0185b68f7deba [file]
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,
)