diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt index 6d4542b9199..9ea106cd6db 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt @@ -11,6 +11,7 @@ import org.gradle.api.attributes.Category import org.gradle.api.attributes.Usage import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.kotlinExtension +import org.jetbrains.kotlin.gradle.mpp.androidLibrary import org.jetbrains.kotlin.gradle.mpp.buildProjectWithMPP import org.jetbrains.kotlin.gradle.mpp.kotlin import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType @@ -160,10 +161,15 @@ class ConfigurationsTest : MultiplatformExtensionTest() { @Test fun `test compilation and source set configurations don't clash`() { val project = buildProjectWithMPP { + androidLibrary { + compileSdkVersion(30) + } + kotlin { jvm() js(BOTH) linuxX64("linux") + android() } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/mpp/Util.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/mpp/Util.kt index 932a7bcf47d..f16c17cb694 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/mpp/Util.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/mpp/Util.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.mpp +import com.android.build.gradle.LibraryExtension import org.gradle.api.Project import org.gradle.api.internal.project.ProjectInternal import org.gradle.testfixtures.ProjectBuilder @@ -41,6 +42,13 @@ fun Project.kotlin(code: KotlinMultiplatformExtension.() -> Unit) { kotlin.code() } +fun Project.androidLibrary(code: LibraryExtension.() -> Unit) { + plugins.findPlugin("com.android.library") ?: plugins.apply("com.android.library") + val androidExtension = project.extensions.findByName("android") as? LibraryExtension + ?: throw IllegalStateException("Android library extension is missing in project") + androidExtension.code() +} + fun Project.projectModel(code: KotlinPm20ProjectExtension.() -> Unit) { val extension = project.extensions.getByType(KotlinPm20ProjectExtension::class.java) extension.code()