From 24ff1c62858de9e99e7f8f259d8374d314d2f89d Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Wed, 5 Jul 2023 13:01:54 +0200 Subject: [PATCH] [Gradle] Fix test compilation after removing relatedConfigurations ^KT-58225 Verification Pending --- .../regressionTests/ConfigurationsTest.kt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt index 7ece1a5335c..a09db4adb81 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt @@ -17,8 +17,9 @@ import org.gradle.api.attributes.Category import org.gradle.api.attributes.Usage import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.withType -import org.jetbrains.kotlin.gradle.* import org.jetbrains.kotlin.gradle.dsl.kotlinExtension +import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies +import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget @@ -275,11 +276,23 @@ class ConfigurationsTest : MultiplatformExtensionTest() { project.evaluate() + fun HasKotlinDependencies.allDependenciesConfigurationNames() = listOfNotNull( + apiConfigurationName, + implementationConfigurationName, + compileOnlyConfigurationName, + runtimeOnlyConfigurationName + ) + + fun KotlinCompilation<*>.allCompilationDependenciesConfigurationNames() = allDependenciesConfigurationNames() + listOfNotNull( + compileDependencyConfigurationName, + runtimeDependencyConfigurationName, + ) + @Suppress("DEPRECATION") project.kotlinExtension.targets.flatMap { it.compilations }.forEach { compilation -> val compilationSourceSets = compilation.allKotlinSourceSets - val compilationConfigurationNames = compilation.relatedConfigurationNames - val sourceSetConfigurationNames = compilationSourceSets.flatMapTo(mutableSetOf()) { it.relatedConfigurationNames } + val compilationConfigurationNames = compilation.allCompilationDependenciesConfigurationNames() + val sourceSetConfigurationNames = compilationSourceSets.flatMapTo(mutableSetOf()) { it.allDependenciesConfigurationNames() } assert(compilationConfigurationNames.none { it in sourceSetConfigurationNames }) { """A name clash between source set and compilation configurations detected for the following configurations: