-
Notifications
You must be signed in to change notification settings - Fork 391
/
DokkaVersion.kt
29 lines (24 loc) · 954 Bytes
/
DokkaVersion.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package org.jetbrains
import org.gradle.api.Project
import org.gradle.kotlin.dsl.extra
import org.gradle.kotlin.dsl.provideDelegate
fun Project.configureDokkaVersion(): String {
var dokka_version: String? by this.extra
if (dokka_version == null) {
val dokka_version_base: String by this
dokka_version = dokkaVersionFromBase(dokka_version_base)
}
return checkNotNull(dokka_version)
}
private fun dokkaVersionFromBase(baseVersion: String): String {
val buildNumber = System.getenv("BUILD_NUMBER")
val forceSnapshot = System.getenv("FORCE_SNAPSHOT") != null
if (forceSnapshot || buildNumber == null) {
return "$baseVersion-SNAPSHOT"
}
return "$baseVersion-$buildNumber"
}
val Project.dokkaVersion: String
get() = configureDokkaVersion()
val Project.dokkaVersionType: DokkaVersionType?
get() = DokkaVersionType.values().find { it.suffix.matches(dokkaVersion.substringAfter("-", "")) }