From ead2354fb7f56c566e5854f15b58bd570db9cfdf Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 1 Feb 2023 09:56:15 +0100 Subject: [PATCH] [Gradle] IdePlatformCinteropDependencyResolver: Properly list build dependencies ^KT-56337 Verification Pending --- .../IdePlatformCinteropDependencyResolver.kt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdePlatformCinteropDependencyResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdePlatformCinteropDependencyResolver.kt index 2083c8a2bad..b024c18feac 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdePlatformCinteropDependencyResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdePlatformCinteropDependencyResolver.kt @@ -5,19 +5,28 @@ package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers +import org.gradle.api.Project +import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver +import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet import org.jetbrains.kotlin.gradle.targets.native.internal.getPlatformCinteropDependenciesOrEmpty -internal object IdePlatformCinteropDependencyResolver : IdeDependencyResolver { +internal object IdePlatformCinteropDependencyResolver : IdeDependencyResolver, IdeDependencyResolver.WithBuildDependencies { override fun resolve(sourceSet: KotlinSourceSet): Set { if (sourceSet !is DefaultKotlinSourceSet) return emptySet() val project = sourceSet.project - val cinteropFiles = project.getPlatformCinteropDependenciesOrEmpty(sourceSet) - return project.resolveCInteropDependencies(cinteropFiles) } + + override fun dependencies(project: Project): Iterable { + return project.kotlinExtension.sourceSets.mapNotNull { sourceSet -> + if (sourceSet !is DefaultKotlinSourceSet) return@mapNotNull null + if (!IdeMultiplatformImport.SourceSetConstraint.isNative(sourceSet)) return@mapNotNull null + project.getPlatformCinteropDependenciesOrEmpty(sourceSet) + } + } }