From 794c9d16a36db56eb43b8924ccf8a3368045936c Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 25 Aug 2022 15:47:56 +0200 Subject: [PATCH] [Gradle] CompilationDetails: Use source set hierarchy instead of compilations to determine common sources ^KKT-50161 Verification Pending --- .../jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt | 4 +++- .../jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt | 5 ----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt index 1bdad6ca322..49a6d304bc8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt @@ -287,7 +287,9 @@ open class DefaultCompilationDetails( addSourcesToCompileTask( sourceSet, addAsCommonSources = lazy { - CompilationSourceSetUtil.sourceSetsInMultipleCompilations(project).contains(sourceSet.name) + target.project.kotlinExtension.sourceSets.any { otherSourceSet -> + sourceSet in otherSourceSet.dependsOn + } } ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt index 8b9d6f8fe20..567b598e296 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt @@ -282,11 +282,6 @@ internal object CompilationSourceSetUtil { return compilationNamesBySourceSetName.get() } - - fun sourceSetsInMultipleCompilations(project: Project) = - compilationsBySourceSets(project).mapNotNullTo(mutableSetOf()) { (sourceSet, compilations) -> - sourceSet.name.takeIf { compilations.size > 1 } - } } private val invalidModuleNameCharactersRegex = """[\\/\r\n\t]""".toRegex()