diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt index 01f5d519470..2c235677f18 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt @@ -397,6 +397,38 @@ class KotlinAndroid30GradleIT : KotlinAndroid3GradleIT() { override val defaultGradleVersion: GradleVersionRequired get() = GradleVersionRequired.Until("4.10.2") + + @Test + fun testOmittedStdlibVersion() = with(Project("AndroidProject", GradleVersionRequired.AtLeast("4.4"))) { + setupWorkingDir() + + gradleBuildScript("Lib").modify { + it.replace("kotlin-stdlib:\$kotlin_version", "kotlin-stdlib").apply { check(!equals(it)) } + "\n" + """ + apply plugin: 'maven' + group 'com.example' + version '1.0' + android { + defaultPublishConfig 'flavor1Debug' + } + uploadArchives { + repositories { + mavenDeployer { + repository(url: "file://${'$'}buildDir/repo") + } + } + } + """.trimIndent() + } + + build(":Lib:assembleFlavor1Debug", ":Lib:uploadArchives") { + assertSuccessful() + assertTasksExecuted(":Lib:compileFlavor1DebugKotlin", ":Lib:uploadArchives") + val pomLines = File(projectDir, "Lib/build/repo/com/example/Lib/1.0/Lib-1.0.pom").readLines() + val stdlibVersionLineNumber = pomLines.indexOfFirst { "kotlin-stdlib" in it } + 1 + val versionLine = pomLines[stdlibVersionLineNumber] + assertTrue { "${defaultBuildOptions().kotlinVersion}" in versionLine } + } + } } abstract class KotlinAndroid3GradleIT : AbstractKotlinAndroidGradleTests() { 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 905d0956684..60d67653c93 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 @@ -646,6 +646,8 @@ internal open class KotlinAndroidPlugin( applyUserDefinedAttributes(androidTarget) + configureDefaultVersionsResolutionStrategy(project, kotlinPluginVersion) + registry.register(KotlinModelBuilder(kotlinPluginVersion, androidTarget)) project.whenEvaluated { project.components.addAll(androidTarget.components) }