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