mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-04-20 15:52:36 +00:00
Add debug logger to ScriptTemplatesFromDependenciesProvider
This will help with investigation of problems with script definition discovery
This commit is contained in:
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.scripting.gradle
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
@@ -141,4 +142,12 @@ class RootsIndex<T : Any> {
|
||||
|
||||
@Synchronized
|
||||
fun remove(prefix: String) = tree.remove(prefix)
|
||||
}
|
||||
|
||||
private val logger = Logger.getInstance("#org.jetbrains.kotlin.idea.scripting.gradle")
|
||||
|
||||
fun scriptingDebugLog(message: () -> String) {
|
||||
if (logger.isDebugEnabled) {
|
||||
logger.debug("[KOTLIN_GRADLE_DSL] ${message()}")
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.script
|
||||
import com.intellij.ProjectTopics
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.ReadAction
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.roots.ModuleRootEvent
|
||||
import com.intellij.openapi.roots.ModuleRootListener
|
||||
@@ -32,6 +33,8 @@ import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||
|
||||
|
||||
class ScriptTemplatesFromDependenciesProvider(private val project: Project) : ScriptDefinitionSourceAsContributor {
|
||||
private val logger = Logger.getInstance(ScriptTemplatesFromDependenciesProvider::class.java)
|
||||
|
||||
override val id = "ScriptTemplatesFromDependenciesProvider"
|
||||
|
||||
override fun isReady(): Boolean = _definitions != null
|
||||
@@ -99,6 +102,10 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc
|
||||
return onEarlyEnd()
|
||||
}
|
||||
|
||||
if (logger.isDebugEnabled) {
|
||||
logger.debug("async script definitions update started")
|
||||
}
|
||||
|
||||
val templates = LinkedHashSet<String>()
|
||||
val classpath = LinkedHashSet<File>()
|
||||
|
||||
@@ -118,6 +125,10 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc
|
||||
.onSuccess { roots ->
|
||||
val jarFS = JarFileSystem.getInstance()
|
||||
roots.forEach { root ->
|
||||
if (logger.isDebugEnabled) {
|
||||
logger.debug("root matching SCRIPT_DEFINITION_MARKERS_PATH found: ${root.path}")
|
||||
}
|
||||
|
||||
root.findFileByRelativePath(SCRIPT_DEFINITION_MARKERS_PATH)?.children?.forEach { resourceFile ->
|
||||
if (resourceFile.isValid && !resourceFile.isDirectory) {
|
||||
templates.add(resourceFile.name.removeSuffix(SCRIPT_DEFINITION_MARKERS_EXTENSION_WITH_DOT))
|
||||
@@ -151,6 +162,10 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc
|
||||
return@onProcessed
|
||||
}
|
||||
|
||||
if (logger.isDebugEnabled) {
|
||||
logger.debug("script templates found: $newTemplates")
|
||||
}
|
||||
|
||||
oldTemplates = newTemplates
|
||||
|
||||
val hostConfiguration = ScriptingHostConfiguration(defaultJvmScriptingHostConfiguration) {
|
||||
@@ -167,6 +182,10 @@ class ScriptTemplatesFromDependenciesProvider(private val project: Project) : Sc
|
||||
baseHostConfiguration = hostConfiguration,
|
||||
)
|
||||
|
||||
if (logger.isDebugEnabled) {
|
||||
logger.debug("script definitions found: ${newDefinitions.joinToString()}")
|
||||
}
|
||||
|
||||
val needReload = definitionsLock.withLock {
|
||||
if (newDefinitions != _definitions) {
|
||||
_definitions = newDefinitions
|
||||
|
||||
Reference in New Issue
Block a user