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)