From 6c4de96dcb706dd72f8f3206d93ebbaaf966ed17 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Mon, 11 Nov 2019 16:08:12 +0300 Subject: [PATCH] Minor: extract class to separate file --- ....kt => GradleScriptDefinitionsProvider.kt} | 29 +-------------- .../gradle/GradleScriptDefinitionsUpdater.kt | 37 +++++++++++++++++++ idea/resources/META-INF/gradle-java.xml | 2 +- idea/resources/META-INF/gradle-java.xml.183 | 2 +- idea/resources/META-INF/gradle-java.xml.191 | 2 +- idea/resources/META-INF/gradle-java.xml.as34 | 2 +- 6 files changed, 42 insertions(+), 32 deletions(-) rename idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/{GradleScriptTemplateProvider.kt => GradleScriptDefinitionsProvider.kt} (91%) create mode 100644 idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsUpdater.kt diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptTemplateProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt similarity index 91% rename from idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptTemplateProvider.kt rename to idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt index e1fc49b6a96..e6fc8315fe4 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptTemplateProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt @@ -7,17 +7,12 @@ package org.jetbrains.kotlin.idea.scripting.gradle import com.intellij.execution.configurations.CommandLineTokenizer import com.intellij.openapi.diagnostic.Logger -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil import com.intellij.openapi.project.Project import com.intellij.util.EnvironmentUtil -import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionSourceAsContributor import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates -import org.jetbrains.kotlin.idea.framework.GRADLE_SYSTEM_ID import org.jetbrains.kotlin.lexer.KotlinLexer import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase @@ -277,7 +272,7 @@ class GradleScriptDefinitionsContributor(private val project: Project) : ScriptD private class ErrorScriptDependenciesResolver(private val message: String? = null) : DependenciesResolver { override fun resolve(scriptContents: ScriptContents, environment: Environment): ResolveResult { - val failureMessage = if (ReloadGradleTemplatesOnSync.gradleState.isSyncInProgress) { + val failureMessage = if (GradleScriptDefinitionsUpdater.gradleState.isSyncInProgress) { "Highlighting is impossible during Gradle Import" } else { message ?: "Failed to load script definitions by ${GradleScriptDefinitionsContributor::class.java.name}" @@ -299,28 +294,6 @@ class GradleKotlinScriptDefinitionFromAnnotatedTemplate( get() = listOf(ScriptExpectedLocation.Project) } -class ReloadGradleTemplatesOnSync : ExternalSystemTaskNotificationListenerAdapter() { - companion object { - internal val gradleState = GradleSyncState() - } - - override fun onStart(id: ExternalSystemTaskId, workingDir: String?) { - if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT && id.projectSystemId == GRADLE_SYSTEM_ID) { - gradleState.isSyncInProgress = true - } - } - - override fun onEnd(id: ExternalSystemTaskId) { - if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT && id.projectSystemId == GRADLE_SYSTEM_ID) { - gradleState.isSyncInProgress = false - - val project = id.findProject() ?: return - val gradleDefinitionsContributor = ScriptDefinitionContributor.find(project) - gradleDefinitionsContributor?.reloadIfNeccessary() - } - } -} - class TopLevelSectionTokensEnumerator(script: CharSequence, identifier: String) : Enumeration { private val lexer = KotlinLexer().apply { diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsUpdater.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsUpdater.kt new file mode 100644 index 00000000000..10c5293a1fd --- /dev/null +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsUpdater.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.scripting.gradle + +import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId +import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter +import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType +import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor +import org.jetbrains.kotlin.idea.framework.GRADLE_SYSTEM_ID + +class GradleScriptDefinitionsUpdater : ExternalSystemTaskNotificationListenerAdapter() { + companion object { + internal val gradleState = GradleSyncState() + } + + override fun onStart(id: ExternalSystemTaskId, workingDir: String?) { + if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT && id.projectSystemId == GRADLE_SYSTEM_ID) { + gradleState.isSyncInProgress = true + } + } + + override fun onEnd(id: ExternalSystemTaskId) { + if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT && id.projectSystemId == GRADLE_SYSTEM_ID) { + gradleState.isSyncInProgress = false + + val project = id.findProject() ?: return + val gradleDefinitionsContributor = + ScriptDefinitionContributor.find( + project + ) + gradleDefinitionsContributor?.reloadIfNeccessary() + } + } +} \ No newline at end of file diff --git a/idea/resources/META-INF/gradle-java.xml b/idea/resources/META-INF/gradle-java.xml index bfc0c5d98ed..8852f0ff764 100644 --- a/idea/resources/META-INF/gradle-java.xml +++ b/idea/resources/META-INF/gradle-java.xml @@ -24,7 +24,7 @@ - + diff --git a/idea/resources/META-INF/gradle-java.xml.183 b/idea/resources/META-INF/gradle-java.xml.183 index 29ffaaac32a..8e6ce79e0f2 100644 --- a/idea/resources/META-INF/gradle-java.xml.183 +++ b/idea/resources/META-INF/gradle-java.xml.183 @@ -23,7 +23,7 @@ - + diff --git a/idea/resources/META-INF/gradle-java.xml.191 b/idea/resources/META-INF/gradle-java.xml.191 index 4ebe9b81c0d..eae7985f054 100644 --- a/idea/resources/META-INF/gradle-java.xml.191 +++ b/idea/resources/META-INF/gradle-java.xml.191 @@ -23,7 +23,7 @@ - + diff --git a/idea/resources/META-INF/gradle-java.xml.as34 b/idea/resources/META-INF/gradle-java.xml.as34 index 780753c3a33..5dad8343267 100644 --- a/idea/resources/META-INF/gradle-java.xml.as34 +++ b/idea/resources/META-INF/gradle-java.xml.as34 @@ -23,7 +23,7 @@ - +