From bee7dcd704612bb013e3e09fc72ccdc2be4e724a Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Wed, 25 Apr 2018 12:29:23 +0700 Subject: [PATCH] Fix gradle plugin versioning and the plugin version used by samples --- backend.native/tests/build.gradle | 2 +- build.gradle | 4 +- klib/build.gradle | 2 +- performance/build.gradle | 2 +- platformLibs/build.gradle | 2 +- samples/build.gradle | 2 +- settings.gradle | 2 +- .../org/jetbrains/kotlin/VersionGenerator.kt | 40 +++++++++++-------- .../org/jetbrains/kotlin/konan/MetaVersion.kt | 2 +- .../kotlin-native-gradle-plugin/build.gradle | 12 ++---- 10 files changed, 38 insertions(+), 32 deletions(-) diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 4bb0255e88b..b3faa8cb111 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -26,7 +26,7 @@ buildscript { } dependencies { - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin" + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$gradlePluginVersion" } ext.useCustomDist = project.hasProperty("konan.home") if (!useCustomDist) { diff --git a/build.gradle b/build.gradle index b77d236f7d5..8a97ce8dab8 100644 --- a/build.gradle +++ b/build.gradle @@ -39,6 +39,8 @@ ext { kotlinStdLibModule="org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" kotlinReflectModule="org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" kotlinScriptRuntimeModule="org.jetbrains.kotlin:kotlin-script-runtime:${kotlinVersion}" + + gradlePluginVersion = KonanVersion.CURRENT.gradlePluginVersion } allprojects { @@ -385,7 +387,7 @@ task bundle(type: (isWindows()) ? Zip : Tar) { return it.replace("/dist", "") } if (it.startsWith("konan.plugin.version=")) { - return "konan.plugin.version=$konanVersion" + return "konan.plugin.version=$gradlePluginVersion" } return it } diff --git a/klib/build.gradle b/klib/build.gradle index 9998c94d0d8..ff3f7e02de7 100644 --- a/klib/build.gradle +++ b/klib/build.gradle @@ -17,7 +17,7 @@ buildscript { apply from: "$rootDir/gradle/kotlinGradlePlugin.gradle" dependencies { - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin" + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$gradlePluginVersion" } ext.useCustomDist = project.hasProperty("konan.home") diff --git a/performance/build.gradle b/performance/build.gradle index 47dca84666c..6c6f1c5bd6f 100644 --- a/performance/build.gradle +++ b/performance/build.gradle @@ -8,7 +8,7 @@ buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$konanVersion" + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$gradlePluginVersion" } } diff --git a/platformLibs/build.gradle b/platformLibs/build.gradle index 208a530d0f0..a0dc3bd0d16 100644 --- a/platformLibs/build.gradle +++ b/platformLibs/build.gradle @@ -16,7 +16,7 @@ buildscript { } dependencies { - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin" + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$gradlePluginVersion" } ext.konanHome = distDir.absolutePath diff --git a/samples/build.gradle b/samples/build.gradle index 9ea34e0eaa0..7484f951501 100644 --- a/samples/build.gradle +++ b/samples/build.gradle @@ -8,7 +8,7 @@ subprojects { } dependencies { - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:+" + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:${project.property('konan.plugin.version')}" } } } diff --git a/settings.gradle b/settings.gradle index d5ae33fc481..4791e7ce3f8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -31,8 +31,8 @@ include ':utilities' include ':performance' include ':platformLibs' -includeBuild 'tools/kotlin-native-gradle-plugin' includeBuild 'shared' +includeBuild 'tools/kotlin-native-gradle-plugin' if (hasProperty("kotlinProjectPath")) { includeBuild(kotlinProjectPath) { 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 719575dd862..a587ece983a 100644 --- a/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt +++ b/shared/buildSrc/src/main/kotlin/org/jetbrains/kotlin/VersionGenerator.kt @@ -51,24 +51,32 @@ open class VersionGenerator: DefaultTask() { | companion object { | val CURRENT = KonanVersion($meta, $major, $minor, $maintenance, $build) | } - | private val versionString by lazy { - | buildString { - | append(major) - | append('.') - | append(minor) - | if (maintenance != 0) { - | append('.') - | append(maintenance) - | } - | append('-') - | append(meta.metaString) - | if (build != -1) { - | append('-') - | append(build) - | } - | } + | private fun versionToString(showMeta: Boolean = true, showBuild: Boolean = true) = buildString { + | append(major) + | append('.') + | append(minor) + | if (maintenance != 0) { + | append('.') + | append(maintenance) + | } + | if (showMeta) { + | append('-') + | append(meta.metaString) + | } + | if (showBuild && build != -1) { + | append('-') + | append(build) + | } | } + | private val versionString by lazy { versionToString(true, true) } | override fun toString() = versionString + | + | val gradlePluginVersion by lazy { + | if (meta == MetaVersion.RELEASE) + | versionToString(false, false) + | else + | versionString + | } |} """.trimMargin() } diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/MetaVersion.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/MetaVersion.kt index 98f784c3b17..9090daf9b74 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/MetaVersion.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/MetaVersion.kt @@ -28,5 +28,5 @@ enum class MetaVersion(val metaString:String) { BETA("beta"), RC1("rc1"), RC2("rc2"), - REL("release") + RELEASE("release") } \ No newline at end of file diff --git a/tools/kotlin-native-gradle-plugin/build.gradle b/tools/kotlin-native-gradle-plugin/build.gradle index 2c9c2c0a65d..c624a73ca9e 100644 --- a/tools/kotlin-native-gradle-plugin/build.gradle +++ b/tools/kotlin-native-gradle-plugin/build.gradle @@ -14,6 +14,8 @@ * limitations under the License. */ +import org.jetbrains.kotlin.konan.KonanVersion + /** * One may use bintrayUser/bintrayKey project properties or BINTRAY_USER/BINTRAY_KEY environment variables to upload * built plugin to bintray repository. @@ -30,6 +32,7 @@ buildscript { } dependencies { + classpath "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion" classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.2' } @@ -42,14 +45,7 @@ apply plugin: 'com.jfrog.bintray' apply plugin: 'com.github.johnrengelman.shadow' group = 'org.jetbrains.kotlin' - -// Gradle doesn't allow using the KonanVersion class defined in `shared` from this build. -// TODO: Investigate if we can workaround this issue in better way. -def metaVersion = project.findProperty("konanMetaVersion")?.toString()?.toLowerCase() ?: "dev" -version = "$konanVersion-$metaVersion" -if (project.hasProperty("build.number")) { - version <<= "-${project.findProperty("build.number")?.toString().split('-')[2]}" -} +version = KonanVersion.CURRENT.gradlePluginVersion repositories { mavenCentral()