Do not start script dependencies update if dependencies are already cached
This commit is contained in:
+11
-12
@@ -76,19 +76,22 @@ class ScriptDependenciesUpdater(
|
||||
}
|
||||
|
||||
fun updateDependenciesIfNeeded(files: List<VirtualFile>): Boolean {
|
||||
val definitionsManager = ScriptDefinitionsManager.getInstance(project)
|
||||
if (definitionsManager.isReady() && areDependenciesCached(files)) {
|
||||
return false
|
||||
}
|
||||
if (!ScriptDefinitionsManager.getInstance(project).isReady()) return false
|
||||
|
||||
var wasDependenciesUpdateStarted = false
|
||||
for (file in files) {
|
||||
val scriptDef = file.findScriptDefinition(project) ?: continue
|
||||
updateDependencies(file, scriptDef)
|
||||
if (!areDependenciesCached(file)) {
|
||||
wasDependenciesUpdateStarted = true
|
||||
val scriptDef = file.findScriptDefinition(project) ?: continue
|
||||
updateDependencies(file, scriptDef)
|
||||
}
|
||||
}
|
||||
|
||||
makeRootsChangeIfNeeded()
|
||||
if (wasDependenciesUpdateStarted) {
|
||||
makeRootsChangeIfNeeded()
|
||||
}
|
||||
|
||||
return true
|
||||
return wasDependenciesUpdateStarted
|
||||
}
|
||||
|
||||
private fun updateDependencies(file: VirtualFile, scriptDef: KotlinScriptDefinition) {
|
||||
@@ -170,10 +173,6 @@ class ScriptDependenciesUpdater(
|
||||
return cache[file] != null || file.scriptDependencies != null
|
||||
}
|
||||
|
||||
private fun areDependenciesCached(files: List<VirtualFile>): Boolean {
|
||||
return files.all { areDependenciesCached(it) }
|
||||
}
|
||||
|
||||
private fun isAsyncDependencyResolver(scriptDef: KotlinScriptDefinition): Boolean {
|
||||
val dependencyResolver = scriptDef.dependencyResolver
|
||||
return dependencyResolver is AsyncDependenciesResolver || dependencyResolver is LegacyResolverWrapper
|
||||
|
||||
Reference in New Issue
Block a user