Kotlin Facet: Ignore modules unprocessed by kotlin project resolver
This happens in AS on project opening, but we can't (re-)configure facet in such case since relevant module data are not available #KT-18725 Fixed
This commit is contained in:
+3
@@ -35,6 +35,8 @@ import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
|
||||
import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension
|
||||
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil.getModuleId
|
||||
|
||||
var DataNode<ModuleData>.isResolved
|
||||
by NotNullableUserDataProperty(Key.create<Boolean>("IS_RESOLVED"), false)
|
||||
var DataNode<ModuleData>.hasKotlinPlugin
|
||||
by NotNullableUserDataProperty(Key.create<Boolean>("HAS_KOTLIN_PLUGIN"), false)
|
||||
var DataNode<ModuleData>.compilerArgumentsBySourceSet
|
||||
@@ -68,6 +70,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension()
|
||||
}
|
||||
}
|
||||
|
||||
ideModule.isResolved = true
|
||||
ideModule.hasKotlinPlugin = gradleModel.hasKotlinPlugin
|
||||
ideModule.compilerArgumentsBySourceSet = gradleModel.compilerArgumentsBySourceSet
|
||||
ideModule.coroutines = gradleModel.coroutines
|
||||
|
||||
@@ -112,6 +112,8 @@ private fun configureFacetByGradleModule(
|
||||
ideModule: Module,
|
||||
modelsProvider: IdeModifiableModelsProvider
|
||||
): KotlinFacet? {
|
||||
if (!moduleNode.isResolved) return null
|
||||
|
||||
if (!moduleNode.hasKotlinPlugin) {
|
||||
val facetModel = modelsProvider.getModifiableFacetModel(ideModule)
|
||||
val facet = facetModel.getFacetByType(KotlinFacetType.TYPE_ID)
|
||||
|
||||
Reference in New Issue
Block a user