From 90f8edbe802f43300743ae8a638d76fd500eeec4 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 8 Dec 2022 14:36:15 +0100 Subject: [PATCH] [Gradle] TCS:Gradle Sync: Initial support for multiplatform composite builds KT-52172 --- .../IdeTransformedMetadataDependencyResolver.kt | 2 ++ .../IdeVisibleMultiplatformSourceDependencyResolver.kt | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeTransformedMetadataDependencyResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeTransformedMetadataDependencyResolver.kt index 972236d367a..d606a2e5aeb 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeTransformedMetadataDependencyResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeTransformedMetadataDependencyResolver.kt @@ -5,6 +5,7 @@ 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.IdeaKotlinDependency import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency @@ -20,6 +21,7 @@ import org.jetbrains.kotlin.tooling.core.mutableExtrasOf internal object IdeTransformedMetadataDependencyResolver : IdeDependencyResolver { override fun resolve(sourceSet: KotlinSourceSet): Set = sourceSet.resolveMetadata() + .filter { resolution -> resolution.dependency.id !is ProjectComponentIdentifier } .flatMap { resolution -> resolve(sourceSet, resolution) } .toSet() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeVisibleMultiplatformSourceDependencyResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeVisibleMultiplatformSourceDependencyResolver.kt index e3e32ad2105..8ed0c919c02 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeVisibleMultiplatformSourceDependencyResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/IdeVisibleMultiplatformSourceDependencyResolver.kt @@ -5,6 +5,7 @@ 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.IdeaKotlinSourceCoordinates import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency @@ -25,12 +26,12 @@ internal object IdeVisibleMultiplatformSourceDependencyResolver : IdeDependencyR private fun resolveSourceDependencies( resolution: MetadataDependencyResolution.ChooseVisibleSourceSets ): Iterable { - val project = resolution.projectDependency ?: return emptyList() + val projectComponentIdentifier = resolution.dependency.id as? ProjectComponentIdentifier ?: return emptyList() return resolution.allVisibleSourceSetNames.map { visibleSourceSetName -> IdeaKotlinSourceDependency( type = IdeaKotlinSourceDependency.Type.Regular, coordinates = IdeaKotlinSourceCoordinates( - project = IdeaKotlinProjectCoordinates(project), + project = IdeaKotlinProjectCoordinates(projectComponentIdentifier), sourceSetName = visibleSourceSetName ) )