xref: /aosp_15_r20/external/kotlinx.coroutines/buildSrc/build.gradle.kts (revision 7a7160fed73afa6648ef8aa100d4a336fe921d9a)
1 import java.util.*
2 
<lambda>null3 plugins {
4     `kotlin-dsl`
5 }
6 
7 val cacheRedirectorEnabled = System.getenv("CACHE_REDIRECTOR")?.toBoolean() == true
8 val buildSnapshotTrain = properties["build_snapshot_train"]?.toString()?.toBoolean() == true
9 val kotlinDevUrl = project.rootProject.properties["kotlin_repo_url"] as? String
10 
<lambda>null11 repositories {
12     mavenCentral()
13     if (cacheRedirectorEnabled) {
14         maven("https://cache-redirector.jetbrains.com/plugins.gradle.org/m2")
15     } else {
16         maven("https://plugins.gradle.org/m2")
17     }
18     if (!kotlinDevUrl.isNullOrEmpty()) {
19         maven(kotlinDevUrl)
20     }
21     if (buildSnapshotTrain) {
22         mavenLocal()
23     }
24 }
25 
<lambda>null26 val gradleProperties = Properties().apply {
27     file("../gradle.properties").inputStream().use { load(it) }
28 }
29 
versionnull30 fun version(target: String): String {
31     // Intercept reading from properties file
32     if (target == "kotlin") {
33         val snapshotVersion = properties["kotlin_snapshot_version"]
34         if (snapshotVersion != null) return snapshotVersion.toString()
35     }
36     val version = "${target}_version"
37     // Read from CLI first, used in aggregate builds
38     return properties[version]?.let{"$it"} ?: gradleProperties.getProperty(version)
39 }
40 
<lambda>null41 dependencies {
42     implementation(kotlin("gradle-plugin", version("kotlin")))
43     /*
44      * Dokka is compiled with language level = 1.4, but depends on Kotlin 1.6.0, while
45      * our version of Gradle bundles Kotlin 1.4.x and can read metadata only up to 1.5.x,
46      * thus we're excluding stdlib compiled with 1.6.0 from dependencies.
47      */
48     implementation("org.jetbrains.dokka:dokka-gradle-plugin:${version("dokka")}") {
49         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8")
50         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk7")
51         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
52     }
53     implementation("org.jetbrains.dokka:dokka-core:${version("dokka")}") {
54         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8")
55         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk7")
56         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
57     }
58     implementation("ru.vyarus:gradle-animalsniffer-plugin:${version("animalsniffer")}") // Android API check
59     implementation("org.jetbrains.kotlinx:kover-gradle-plugin:${version("kover")}") {
60         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8")
61         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk7")
62         exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
63     }
64     implementation("org.jetbrains.kotlinx:kotlinx-benchmark-plugin:0.4.9")
65     implementation("org.jetbrains.kotlinx:kotlinx-knit:${version("knit")}")
66 }
67