From c51d37d65d146ecce25bae85866d99ed45333d50 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Fri, 24 Sep 2021 10:08:10 +0200 Subject: [PATCH] [Gradle] [MPP] CInteropPropagatedDependencies: Consider associate compilations ^KT-48856 Verification Pending --- .../native/internal/CInteropPropagatedDependencies.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropPropagatedDependencies.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropPropagatedDependencies.kt index 670fd06557b..4af64a9a2a5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropPropagatedDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropPropagatedDependencies.kt @@ -67,9 +67,11 @@ private fun Project.getPropagatedCInteropDependenciesOrEmpty(sourceSet: DefaultK /* Participating in multiple compilations? -> can't propagate -> should be commonized */ val compilation = compilations.singleOrNull() as? KotlinNativeCompilation ?: return@files emptySet() - /* Source Set is directly included in compilation -> No need to add dependency again (will be handled already) */ - if (sourceSet in compilation.kotlinSourceSets) return@files emptySet() - getAllCInteropOutputFiles(compilation) + (compilation.associateWith + compilation) + .filterIsInstance() + /* Source Set is directly included in compilation -> No need to add dependency again (will be handled already) */ + .filter { relevantCompilation -> sourceSet !in relevantCompilation.kotlinSourceSets } + .map { relevantCompilation -> getAllCInteropOutputFiles(relevantCompilation) } } }