diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt index 68b69082d22..a2d3fe36af8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt @@ -82,6 +82,7 @@ private fun excludeStdlibAndKotlinTestCommonFromPlatformCompilations(project: Pr // there several JVM-like targets, like KotlinWithJava, or KotlinAndroid, and they don't have common supertype // aside from KotlinTarget +@Suppress("DEPRECATION") private fun KotlinTarget.excludeStdlibAndKotlinTestCommonFromPlatformCompilations() { compilations.all { listOfNotNull( diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT55929MetadataConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT55929MetadataConfigurationsTest.kt index 88427911453..d41bfa263cc 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT55929MetadataConfigurationsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT55929MetadataConfigurationsTest.kt @@ -7,11 +7,14 @@ package org.jetbrains.kotlin.gradle.regressionTests +import org.gradle.api.artifacts.component.ModuleComponentIdentifier +import org.gradle.kotlin.dsl.repositories import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet import org.jetbrains.kotlin.gradle.util.* import org.junit.Test +import kotlin.test.fail @Suppress("DEPRECATION") /* Configurations are scheduled for removal */ class KT55929MetadataConfigurationsTest { @@ -110,4 +113,39 @@ class KT55929MetadataConfigurationsTest { ) } } + + @Test + fun `test - deprecated metadata configurations - do not list stdlib-common - for platform source sets`() { + val project = buildProject { + enableDefaultStdlibDependency(true) + enableIntransitiveMetadataConfiguration(true) + applyMultiplatformPlugin() + repositories { + mavenLocal() + mavenCentral() + } + } + + val kotlin = project.multiplatformExtension + kotlin.targetHierarchy.default() + kotlin.linuxX64() + kotlin.linuxArm64() + + kotlin.sourceSets.getByName("commonMain").dependencies { + implementation(kotlin("stdlib")) + } + + project.evaluate() + + val stdlibCommonFound = project.configurations.getByName( + kotlin.sourceSets.getByName("linuxX64Main").implementationMetadataConfigurationName + ).resolvedConfiguration.resolvedArtifacts.any { artifact -> + val id = artifact.id.componentIdentifier + id is ModuleComponentIdentifier && id.module == "kotlin-stdlib-common" + } + + if(stdlibCommonFound) { + fail("Unexpectedly resolved stdlib-common for 'linuxX64Main'") + } + } }