From bef97d85af7a0f50b1210a85a235589f46a1e1de Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Fri, 22 Jun 2018 20:19:58 +0300 Subject: [PATCH] Respect version string in SubpluginArtifact to load compiler plugins with versions different from compiler one --- .../jetbrains/kotlin/gradle/plugin/KotlinGradleSubplugin.kt | 2 +- .../kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinGradleSubplugin.kt index 75f462ee3c2..9132e85870b 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinGradleSubplugin.kt @@ -67,6 +67,6 @@ interface KotlinGradleSubplugin { fun getPluginArtifact(): SubpluginArtifact } -open class SubpluginArtifact(val groupId: String, val artifactId: String) +open class SubpluginArtifact(val groupId: String, val artifactId: String, val version: String? = null) class JetBrainsSubpluginArtifact(artifactId: String) : SubpluginArtifact(groupId = "org.jetbrains.kotlin", artifactId = artifactId) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index b5c27954fdd..64353edba9c 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -695,7 +695,8 @@ internal class SubpluginEnvironment( project.logger.kotlinDebug { "Loading subplugin $pluginId" } val artifact = subplugin.getPluginArtifact() - val mavenCoordinate = "${artifact.groupId}:${artifact.artifactId}:$kotlinPluginVersion" + val artifactVersion = artifact.version ?: kotlinPluginVersion + val mavenCoordinate = "${artifact.groupId}:${artifact.artifactId}:$artifactVersion" project.logger.kotlinDebug { "Adding '$mavenCoordinate' to '$PLUGIN_CLASSPATH_CONFIGURATION_NAME' configuration" } project.dependencies.add(PLUGIN_CLASSPATH_CONFIGURATION_NAME, mavenCoordinate)