diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRoot.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRoot.kt index bcce3b1494f..05b2b75c94a 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRoot.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRoot.kt @@ -52,6 +52,10 @@ sealed class GradleBuildRoot( fun fileChanged(filePath: String, ts: Long) { lastModifiedFiles.fileChanged(ts, filePath) } + + fun isImportingInProgress(): Boolean { + return importing.get() != ImportingStatus.updated + } } sealed class WithoutScriptModels( diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsLocator.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsLocator.kt index 34ec8c107d8..677b86f449b 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsLocator.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsLocator.kt @@ -104,8 +104,7 @@ abstract class GradleBuildRootsLocator { } private val importing: Boolean - get() = nearest != null && - nearest.importing.get() != GradleBuildRoot.ImportingStatus.updated + get() = nearest != null && nearest.isImportingInProgress() private val isImported: Boolean get() = script != null diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt index 903fe87eefa..327688ba097 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt @@ -30,7 +30,6 @@ import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRoot.Importin import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance -import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.plugins.gradle.config.GradleSettingsListenerAdapter import org.jetbrains.plugins.gradle.service.GradleInstallationManager import org.jetbrains.plugins.gradle.settings.* @@ -91,15 +90,13 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(), } override fun isConfigurationLoadingInProgress(file: KtFile): Boolean { - return when (val root = findScriptBuildRoot(file.originalFile.virtualFile)?.nearest) { - is GradleBuildRoot -> root.importing.get() != updated - else -> false - } + return findScriptBuildRoot(file.originalFile.virtualFile)?.nearest?.isImportingInProgress() ?: return false } @Suppress("MemberVisibilityCanBePrivate") // used in GradleImportHelper.kt.201 fun isConfigurationOutOfDate(file: VirtualFile): Boolean { val script = getScriptInfo(file) ?: return false + if (script.buildRoot.isImportingInProgress()) return false return !script.model.inputs.isUpToDate(project, file) }