[Gradle] IdePlatformCinteropDependencyResolver: Properly list build dependencies

^KT-56337 Verification Pending
This commit is contained in:
Sebastian Sellmair
2023-02-01 09:56:15 +01:00
committed by Space Team
parent bc98c47caa
commit ead2354fb7
@@ -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<IdeaKotlinDependency> {
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<Any> {
return project.kotlinExtension.sourceSets.mapNotNull { sourceSet ->
if (sourceSet !is DefaultKotlinSourceSet) return@mapNotNull null
if (!IdeMultiplatformImport.SourceSetConstraint.isNative(sourceSet)) return@mapNotNull null
project.getPlatformCinteropDependenciesOrEmpty(sourceSet)
}
}
}