diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/FatFrameworkIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/FatFrameworkIT.kt index ec1da6da0b4..c2aa09c38f4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/FatFrameworkIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/FatFrameworkIT.kt @@ -5,13 +5,10 @@ package org.jetbrains.kotlin.gradle.native -import org.jetbrains.kotlin.gradle.BaseGradleIT -import org.jetbrains.kotlin.gradle.GradleVersionRequired +import org.jetbrains.kotlin.gradle.* +import org.jetbrains.kotlin.gradle.embedProject import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl -import org.jetbrains.kotlin.gradle.util.addBeforeSubstring -import org.jetbrains.kotlin.gradle.util.checkedReplace -import org.jetbrains.kotlin.gradle.util.modify -import org.jetbrains.kotlin.gradle.util.runProcess +import org.jetbrains.kotlin.gradle.util.* import org.jetbrains.kotlin.konan.target.HostManager import org.junit.Assume import org.junit.BeforeClass @@ -195,6 +192,19 @@ class FatFrameworkIT : BaseGradleIT() { } } + /** + * Test that the configurations exposing the frameworks don't interfere with variant-aware dependency resolution + */ + @Test + fun testDependencyResolution() = with(transformProjectWithPluginsDsl("smoke", directoryPrefix = "native-fat-framework")) { + setupWorkingDir() + val nestedProjectName = "nested" + embedProject(this, nestedProjectName) + gradleBuildScript(nestedProjectName).modify { it.replace(".version(\"$KOTLIN_VERSION\")", "") } + gradleBuildScript().appendText("dependencies { \"commonMainImplementation\"(project(\":$nestedProjectName\")) }") + testResolveAllConfigurations() + } + companion object { @BeforeClass @JvmStatic diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt index 218668c0447..26752315f84 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt @@ -82,6 +82,7 @@ open class KotlinNativeTargetConfigurator : AbstractKotl linkTask: TaskProvider ) { fun Configuration.configureConfiguration(taskProvider: TaskProvider) { + setupAsPublicConfigurationIfSupported(binary.target) project.afterEvaluate { val task = taskProvider.get() val artifactFile = when (task) {