diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinFragmentBuilder.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinFragmentBuilder.kt index 589c5e86845..d9ae257835f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinFragmentBuilder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinFragmentBuilder.kt @@ -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) }, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt index 4ba2a0925e4..f66c140e62a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt @@ -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() + fragment.containingVariants.filterIsInstance() return nativeVariants.firstOrNull { it.konanTarget.enabledOnCurrentHost }?.konanTarget ?: nativeVariants.firstOrNull()?.konanTarget ?: HostManager.host diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/TransformKotlinGranularMetadataForFragment.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/TransformKotlinGranularMetadataForFragment.kt index c79db3e4d5b..e292075a7b9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/TransformKotlinGranularMetadataForFragment.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/TransformKotlinGranularMetadataForFragment.kt @@ -42,7 +42,7 @@ internal open class TransformKotlinGranularMetadataForFragment @get:Input internal val inputFragmentsAndVariants: Map> 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>> 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() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/fragmentsMetadataCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/fragmentsMetadataCompilation.kt index 9dafbfcfd1c..ae109900294 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/fragmentsMetadataCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/fragmentsMetadataCompilation.kt @@ -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) ) {