diff --git a/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt b/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt index caf6bae0349..655b5f6c4cf 100644 --- a/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt +++ b/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt @@ -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