[KPM] Replace .containingModule.variantsContainingFragment with .containingVariants

KT-51386
This commit is contained in:
sebastian.sellmair
2022-03-11 08:53:22 +01:00
committed by Space
parent f65c61472b
commit 588ea65d66
4 changed files with 8 additions and 12 deletions
@@ -6,10 +6,7 @@
package org.jetbrains.kotlin.gradle.kpm.idea
import org.jetbrains.kotlin.gradle.kpm.KotlinExternalModelContainer
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinGradleFragment
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinGradleFragmentInternal
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinGradleVariant
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.variantsContainingFragment
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
internal class IdeaKotlinFragmentBuildingContext(
private val parent: IdeaKotlinProjectModelBuildingContext
@@ -29,8 +26,7 @@ private fun IdeaKotlinFragmentBuildingContext.buildIdeaKotlinFragment(fragment:
return IdeaKotlinFragmentImpl(
name = fragment.name,
moduleIdentifier = fragment.containingModule.moduleIdentifier.toIdeaKotlinModuleIdentifier(),
platforms = fragment.containingModule.variantsContainingFragment(fragment)
.map { variant -> buildIdeaKotlinPlatform(variant) }.toSet(),
platforms = fragment.containingVariants.map { variant -> buildIdeaKotlinPlatform(variant) }.toSet(),
languageSettings = fragment.languageSettings.toIdeaKotlinLanguageSettings(),
dependencies = dependencyResolver.resolve(fragment).toList(),
directRefinesDependencies = fragment.directRefinesDependencies.map { refinesFragment -> toIdeaKotlinFragment(refinesFragment) },
@@ -121,7 +121,7 @@ internal open class KotlinCommonFragmentMetadataCompilationDataImpl(
override val isActive: Boolean
get() = !fragment.isNativeShared() &&
fragment.containingModule.variantsContainingFragment(fragment).run {
fragment.containingVariants.run {
!all { it.platformType in setOf(KotlinPlatformType.androidJvm, KotlinPlatformType.jvm) } &&
mapTo(hashSetOf()) { it.platformType }.size > 1
}
@@ -161,14 +161,14 @@ internal open class KotlinNativeFragmentMetadataCompilationDataImpl(
get() = lowerCamelCaseName("compile", fragment.disambiguateName(""), "KotlinNativeMetadata")
override val isActive: Boolean
get() = fragment.isNativeShared() && fragment.containingModule.variantsContainingFragment(fragment).count() > 1
get() = fragment.isNativeShared() && fragment.containingVariants.count() > 1
override val kotlinOptions: NativeCompileOptions = NativeCompileOptions { languageSettings }
override val konanTarget: KonanTarget
get() {
val nativeVariants =
fragment.containingModule.variantsContainingFragment(fragment).filterIsInstance<KotlinNativeVariantInternal>()
fragment.containingVariants.filterIsInstance<KotlinNativeVariantInternal>()
return nativeVariants.firstOrNull { it.konanTarget.enabledOnCurrentHost }?.konanTarget
?: nativeVariants.firstOrNull()?.konanTarget
?: HostManager.host
@@ -42,7 +42,7 @@ internal open class TransformKotlinGranularMetadataForFragment
@get:Input
internal val inputFragmentsAndVariants: Map<String, Iterable<String>> by project.provider {
val participatingFragments = fragment.refinesClosure
participatingFragments.associateWith { it.containingModule.variantsContainingFragment(it) }
participatingFragments.associateWith { it.containingVariants }
.entries.associate { (fragment, variants) ->
fragment.name to variants.map { it.fragmentName }.sorted()
}
@@ -52,7 +52,7 @@ internal open class TransformKotlinGranularMetadataForFragment
@get:Input
internal val inputVariantDependencies: Map<String, Set<List<String?>>> by project.provider {
val participatingFragments = fragment.refinesClosure
val participatingCompilations = participatingFragments.flatMap { it.containingModule.variantsContainingFragment(it) }
val participatingCompilations = participatingFragments.flatMap { it.containingVariants }
participatingCompilations.associate { variant ->
variant.fragmentName to variant.compileDependenciesConfiguration
.allDependencies.map { listOf(it.group, it.name, it.version) }.toSet()
@@ -283,7 +283,7 @@ private fun disableMetadataCompilationIfNotYetSupported(
metadataCompilationData: AbstractKotlinFragmentMetadataCompilationData<*>
) {
val fragment = metadataCompilationData.fragment
val platforms = fragment.containingModule.variantsContainingFragment(fragment).map { it.platformType }.toSet()
val platforms = fragment.containingVariants.map { it.platformType }.toSet()
if (platforms != setOf(KotlinPlatformType.native) && platforms.size == 1
|| platforms == setOf(KotlinPlatformType.jvm, KotlinPlatformType.androidJvm)
) {