From 9ead1d84b17445d4507fb704bdfd7de6a57216df Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Fri, 19 May 2023 13:10:58 +0200 Subject: [PATCH] [Gradle] Fix CInterop commonization for included builds KT-58471 Verification Pending --- .../mpp/MetadataDependencyTransformationTaskInputs.kt | 2 +- .../CInteropMetadataDependencyTransformationTask.kt | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTaskInputs.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTaskInputs.kt index 81788acf00a..4ae08a90a21 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTaskInputs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataDependencyTransformationTaskInputs.kt @@ -82,7 +82,7 @@ internal class MetadataDependencyTransformationTaskInputs( private fun Configuration.withoutProjectDependencies(): FileCollection { return incoming.artifactView { view -> view.componentFilter { componentIdentifier -> - componentIdentifier !is ProjectComponentIdentifier + componentIdentifier !is ProjectComponentIdentifier || !componentIdentifier.build.isCurrentBuild } }.files } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropMetadataDependencyTransformationTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropMetadataDependencyTransformationTask.kt index 4f998df1800..501e11e2b1a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropMetadataDependencyTransformationTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropMetadataDependencyTransformationTask.kt @@ -197,7 +197,14 @@ internal open class CInteropMetadataDependencyTransformationTask @Inject constru private fun Iterable.resolutionsToTransform(): List { return filterIsInstance() - .applyIf(skipProjectDependencies) { filter { it.dependency.id !is ProjectComponentIdentifier } } + .applyIf(skipProjectDependencies) { + filterNot { + val dependencyId = it.dependency.id + // filter out ProjectDependencies but keep the ones which are coming from included builds + // i.e. they are ProjectDependencies but have isCurrentBuild = false + dependencyId is ProjectComponentIdentifier && dependencyId.build.isCurrentBuild + } + } } }