[version] Annotate properties used by version generator as inputs

This commit is contained in:
Ilya Matveev
2018-04-24 16:41:15 +07:00
committed by ilmat192
parent 93b8a0595c
commit 89d0886043
@@ -3,8 +3,7 @@ package org.jetbrains.kotlin
import groovy.lang.Closure
import org.gradle.api.DefaultTask
import org.gradle.api.Task
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.*
import java.io.File
@@ -14,22 +13,31 @@ open class VersionGenerator: DefaultTask() {
@OutputFile
val versionFile:File = project.file("${versionSourceDirectory.path}/org/jetbrains/kotlin/konan/KonanVersion.kt")
val konanVersion: String
@Input get() = project.properties["konanVersion"].toString()
val buildNumber: String?
@Optional @Input get() = System.getenv("BUILD_NUMBER")
val meta: String
@Input get() = project.properties["konanMetaVersion"]?.let {
"MetaVersion.${it.toString().toUpperCase()}"
} ?: "MetaVersion.DEV"
override fun configure(closure: Closure<*>): Task {
val result = super.configure(closure)
doFirst {
val content = buildString {
operator fun String.unaryPlus() = this@buildString.append(this)
val version = project.properties["konanVersion"].toString().split(".")
val version = konanVersion.split(".")
val major = version[0].toInt()
val minor = version[1].toInt()
val maintenance = if (version.size > 2) version[2].toInt() else 0
val buildCounter = System.getenv("BUILD_NUMBER")
project.logger.info("BUILD_NUMBER: $buildCounter")
val build = buildCounter?.let {
project.logger.info("BUILD_NUMBER: $buildNumber")
val build = buildNumber?.let {
it.split("-")[2].toInt() //7-dev-buildcount
}?: -1
val meta = project.properties["konanMetaVersion"]?.let { "MetaVersion.${it.toString().toUpperCase()}" } ?: "MetaVersion.DEV"
+ """
|package org.jetbrains.kotlin.konan