[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 groovy.lang.Closure
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.*
import org.gradle.api.tasks.OutputFile
import java.io.File import java.io.File
@@ -14,22 +13,31 @@ open class VersionGenerator: DefaultTask() {
@OutputFile @OutputFile
val versionFile:File = project.file("${versionSourceDirectory.path}/org/jetbrains/kotlin/konan/KonanVersion.kt") 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 { override fun configure(closure: Closure<*>): Task {
val result = super.configure(closure) val result = super.configure(closure)
doFirst { doFirst {
val content = buildString { val content = buildString {
operator fun String.unaryPlus() = this@buildString.append(this) 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 major = version[0].toInt()
val minor = version[1].toInt() val minor = version[1].toInt()
val maintenance = if (version.size > 2) version[2].toInt() else 0 val maintenance = if (version.size > 2) version[2].toInt() else 0
val buildCounter = System.getenv("BUILD_NUMBER") project.logger.info("BUILD_NUMBER: $buildNumber")
project.logger.info("BUILD_NUMBER: $buildCounter") val build = buildNumber?.let {
val build = buildCounter?.let {
it.split("-")[2].toInt() //7-dev-buildcount it.split("-")[2].toInt() //7-dev-buildcount
}?: -1 }?: -1
val meta = project.properties["konanMetaVersion"]?.let { "MetaVersion.${it.toString().toUpperCase()}" } ?: "MetaVersion.DEV"
+ """ + """
|package org.jetbrains.kotlin.konan |package org.jetbrains.kotlin.konan