[Gradle] TCS:Gradle Sync: Initial support for multiplatform composite builds
KT-52172
This commit is contained in:
committed by
Space Team
parent
d4177f167b
commit
90f8edbe80
+2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers
|
package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers
|
||||||
|
|
||||||
|
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
|
||||||
@@ -20,6 +21,7 @@ import org.jetbrains.kotlin.tooling.core.mutableExtrasOf
|
|||||||
internal object IdeTransformedMetadataDependencyResolver : IdeDependencyResolver {
|
internal object IdeTransformedMetadataDependencyResolver : IdeDependencyResolver {
|
||||||
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> =
|
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> =
|
||||||
sourceSet.resolveMetadata<ChooseVisibleSourceSets>()
|
sourceSet.resolveMetadata<ChooseVisibleSourceSets>()
|
||||||
|
.filter { resolution -> resolution.dependency.id !is ProjectComponentIdentifier }
|
||||||
.flatMap { resolution -> resolve(sourceSet, resolution) }
|
.flatMap { resolution -> resolve(sourceSet, resolution) }
|
||||||
.toSet()
|
.toSet()
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers
|
package org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers
|
||||||
|
|
||||||
|
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceCoordinates
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceCoordinates
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency
|
||||||
@@ -25,12 +26,12 @@ internal object IdeVisibleMultiplatformSourceDependencyResolver : IdeDependencyR
|
|||||||
private fun resolveSourceDependencies(
|
private fun resolveSourceDependencies(
|
||||||
resolution: MetadataDependencyResolution.ChooseVisibleSourceSets
|
resolution: MetadataDependencyResolution.ChooseVisibleSourceSets
|
||||||
): Iterable<IdeaKotlinDependency> {
|
): Iterable<IdeaKotlinDependency> {
|
||||||
val project = resolution.projectDependency ?: return emptyList()
|
val projectComponentIdentifier = resolution.dependency.id as? ProjectComponentIdentifier ?: return emptyList()
|
||||||
return resolution.allVisibleSourceSetNames.map { visibleSourceSetName ->
|
return resolution.allVisibleSourceSetNames.map { visibleSourceSetName ->
|
||||||
IdeaKotlinSourceDependency(
|
IdeaKotlinSourceDependency(
|
||||||
type = IdeaKotlinSourceDependency.Type.Regular,
|
type = IdeaKotlinSourceDependency.Type.Regular,
|
||||||
coordinates = IdeaKotlinSourceCoordinates(
|
coordinates = IdeaKotlinSourceCoordinates(
|
||||||
project = IdeaKotlinProjectCoordinates(project),
|
project = IdeaKotlinProjectCoordinates(projectComponentIdentifier),
|
||||||
sourceSetName = visibleSourceSetName
|
sourceSetName = visibleSourceSetName
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user