[KPM] IdeaKotlinFragment: Add moduleIdentifier
KT-51262 KT-51220
This commit is contained in:
committed by
Space
parent
ed1036a358
commit
c56bf6b0e3
+1
@@ -60,6 +60,7 @@ public abstract interface class org/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinF
|
||||
public abstract fun getDirectRefinesDependencies ()Ljava/util/List;
|
||||
public abstract fun getExternal ()Lorg/jetbrains/kotlin/gradle/kpm/KotlinExternalModelContainer;
|
||||
public abstract fun getLanguageSettings ()Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinLanguageSettings;
|
||||
public abstract fun getModuleIdentifier ()Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKotlinModuleIdentifier;
|
||||
public abstract fun getName ()Ljava/lang/String;
|
||||
public abstract fun getResourceDirectories ()Ljava/util/List;
|
||||
public abstract fun getSourceDirectories ()Ljava/util/List;
|
||||
|
||||
+2
@@ -10,6 +10,7 @@ import java.io.Serializable
|
||||
|
||||
interface IdeaKotlinFragment : Serializable {
|
||||
val name: String
|
||||
val moduleIdentifier: IdeaKotlinModuleIdentifier
|
||||
val languageSettings: IdeaKotlinLanguageSettings?
|
||||
val dependencies: List<IdeaKotlinFragmentDependency>
|
||||
val directRefinesDependencies: List<IdeaKotlinFragment>
|
||||
@@ -21,6 +22,7 @@ interface IdeaKotlinFragment : Serializable {
|
||||
@InternalKotlinGradlePluginApi
|
||||
data class IdeaKotlinFragmentImpl(
|
||||
override val name: String,
|
||||
override val moduleIdentifier: IdeaKotlinModuleIdentifier,
|
||||
override val languageSettings: IdeaKotlinLanguageSettings?,
|
||||
override val dependencies: List<IdeaKotlinFragmentDependency>,
|
||||
override val directRefinesDependencies: List<IdeaKotlinFragment>,
|
||||
|
||||
+5
-4
@@ -10,10 +10,10 @@ 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
|
||||
|
||||
private typealias FragmentInterner = MutableMap<KotlinGradleFragment, IdeaKotlinFragment>
|
||||
private typealias IdeaKotlinFragmentBuilderCache = MutableMap<KotlinGradleFragment, IdeaKotlinFragment>
|
||||
|
||||
internal fun KotlinGradleFragment.toIdeaKotlinFragment(
|
||||
cache: FragmentInterner = mutableMapOf()
|
||||
cache: IdeaKotlinFragmentBuilderCache = mutableMapOf()
|
||||
): IdeaKotlinFragment {
|
||||
return cache.getOrPut(this) {
|
||||
if (this is KotlinGradleVariant) buildIdeaKotlinVariant(cache)
|
||||
@@ -21,9 +21,10 @@ internal fun KotlinGradleFragment.toIdeaKotlinFragment(
|
||||
}
|
||||
}
|
||||
|
||||
private fun KotlinGradleFragment.buildIdeaKotlinFragment(cache: FragmentInterner): IdeaKotlinFragment {
|
||||
private fun KotlinGradleFragment.buildIdeaKotlinFragment(cache: IdeaKotlinFragmentBuilderCache): IdeaKotlinFragment {
|
||||
return IdeaKotlinFragmentImpl(
|
||||
name = name,
|
||||
moduleIdentifier = containingModule.moduleIdentifier.toIdeaKotlinModuleIdentifier(),
|
||||
languageSettings = languageSettings.toIdeaKotlinLanguageSettings(),
|
||||
dependencies = emptyList(),
|
||||
directRefinesDependencies = directRefinesDependencies.map { refinesFragment ->
|
||||
@@ -37,7 +38,7 @@ private fun KotlinGradleFragment.buildIdeaKotlinFragment(cache: FragmentInterner
|
||||
)
|
||||
}
|
||||
|
||||
private fun KotlinGradleVariant.buildIdeaKotlinVariant(cache: FragmentInterner): IdeaKotlinVariant {
|
||||
private fun KotlinGradleVariant.buildIdeaKotlinVariant(cache: IdeaKotlinFragmentBuilderCache): IdeaKotlinVariant {
|
||||
return IdeaKotlinVariantImpl(
|
||||
fragment = buildIdeaKotlinFragment(cache),
|
||||
variantAttributes = variantAttributes.mapKeys { (key, _) -> key.uniqueName },
|
||||
|
||||
Reference in New Issue
Block a user