Add flag for avoid double MPP gradle module resolve.
This commit is contained in:
+8
@@ -44,6 +44,7 @@ import org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibrariesDepende
|
|||||||
import org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibrariesFixer
|
import org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibrariesFixer
|
||||||
import org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibraryNameUtil.KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE
|
import org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibraryNameUtil.KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE
|
||||||
import org.jetbrains.kotlin.idea.platform.IdePlatformKindTooling
|
import org.jetbrains.kotlin.idea.platform.IdePlatformKindTooling
|
||||||
|
import org.jetbrains.kotlin.idea.util.NotNullableCopyableDataNodeUserDataProperty
|
||||||
import org.jetbrains.kotlin.util.removeSuffixIfPresent
|
import org.jetbrains.kotlin.util.removeSuffixIfPresent
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
||||||
import org.jetbrains.plugins.gradle.model.*
|
import org.jetbrains.plugins.gradle.model.*
|
||||||
@@ -194,6 +195,10 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
|
|||||||
Key.create<MutableMap<String/* artifact path */, MutableList<String> /* module ids*/>>("gradleMPPArtifactsMap")
|
Key.create<MutableMap<String/* artifact path */, MutableList<String> /* module ids*/>>("gradleMPPArtifactsMap")
|
||||||
val proxyObjectCloningCache = WeakHashMap<Any, Any>()
|
val proxyObjectCloningCache = WeakHashMap<Any, Any>()
|
||||||
|
|
||||||
|
//flag for avoid double resolve from KotlinMPPGradleProjectResolver and KotlinAndroidMPPGradleProjectResolver
|
||||||
|
private var DataNode<ModuleData>.isMppDataInitialized
|
||||||
|
by NotNullableCopyableDataNodeUserDataProperty(Key.create<Boolean>("IS_MPP_DATA_INITIALIZED"), false)
|
||||||
|
|
||||||
private var nativeDebugAdvertised = false
|
private var nativeDebugAdvertised = false
|
||||||
private val androidPluginPresent = PluginManager.getPlugin(PluginId.findId("org.jetbrains.android"))?.isEnabled ?: false
|
private val androidPluginPresent = PluginManager.getPlugin(PluginId.findId("org.jetbrains.android"))?.isEnabled ?: false
|
||||||
|
|
||||||
@@ -265,6 +270,8 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
|
|||||||
projectDataNode: DataNode<ProjectData>,
|
projectDataNode: DataNode<ProjectData>,
|
||||||
resolverCtx: ProjectResolverContext
|
resolverCtx: ProjectResolverContext
|
||||||
) {
|
) {
|
||||||
|
if (mainModuleNode.isMppDataInitialized) return
|
||||||
|
|
||||||
val mainModuleData = mainModuleNode.data
|
val mainModuleData = mainModuleNode.data
|
||||||
val mainModuleConfigPath = mainModuleData.linkedExternalProjectPath
|
val mainModuleConfigPath = mainModuleData.linkedExternalProjectPath
|
||||||
val mainModuleFileDirectoryPath = mainModuleData.moduleFileDirectoryPath
|
val mainModuleFileDirectoryPath = mainModuleData.moduleFileDirectoryPath
|
||||||
@@ -272,6 +279,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
|
|||||||
val externalProject = resolverCtx.getExtraProject(gradleModule, ExternalProject::class.java)
|
val externalProject = resolverCtx.getExtraProject(gradleModule, ExternalProject::class.java)
|
||||||
val mppModel = resolverCtx.getMppModel(gradleModule)
|
val mppModel = resolverCtx.getMppModel(gradleModule)
|
||||||
if (mppModel == null || externalProject == null) return
|
if (mppModel == null || externalProject == null) return
|
||||||
|
mainModuleNode.isMppDataInitialized = true
|
||||||
|
|
||||||
val jdkName = gradleModule.jdkNameIfAny
|
val jdkName = gradleModule.jdkNameIfAny
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user