[Gradle] IdePlatformCinteropDependencyResolver: Properly list build dependencies
^KT-56337 Verification Pending
This commit is contained in:
committed by
Space Team
parent
bc98c47caa
commit
ead2354fb7
+12
-3
@@ -5,19 +5,28 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers
|
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.idea.tcs.IdeaKotlinDependency
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver
|
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.plugin.sources.DefaultKotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.getPlatformCinteropDependenciesOrEmpty
|
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> {
|
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> {
|
||||||
if (sourceSet !is DefaultKotlinSourceSet) return emptySet()
|
if (sourceSet !is DefaultKotlinSourceSet) return emptySet()
|
||||||
val project = sourceSet.project
|
val project = sourceSet.project
|
||||||
|
|
||||||
val cinteropFiles = project.getPlatformCinteropDependenciesOrEmpty(sourceSet)
|
val cinteropFiles = project.getPlatformCinteropDependenciesOrEmpty(sourceSet)
|
||||||
|
|
||||||
return project.resolveCInteropDependencies(cinteropFiles)
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user