From c4e3cc07059dacf87000104d24730b1d51da7b2a Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 12 Oct 2017 20:18:31 +0300 Subject: [PATCH] Add read action for getting text Fix "Read access is allowed... exception" --- .../kotlin/idea/configuration/GroovyBuildScriptManipulator.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GroovyBuildScriptManipulator.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GroovyBuildScriptManipulator.kt index 5f8a9d5de9e..7ac4fb716da 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GroovyBuildScriptManipulator.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GroovyBuildScriptManipulator.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.roots.DependencyScope import com.intellij.openapi.roots.ExternalLibraryDescriptor import com.intellij.psi.PsiElement import com.intellij.psi.codeStyle.CodeStyleManager +import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType import org.jetbrains.plugins.groovy.lang.psi.GroovyFile import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory @@ -33,7 +34,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.util.GrStatementOwner class GroovyBuildScriptManipulator(private val groovyScript: GroovyFile) : GradleBuildScriptManipulator { override fun isConfigured(kotlinPluginName: String): Boolean { - val fileText = groovyScript.text + val fileText = runReadAction { groovyScript.text } return containsDirective(fileText, getApplyPluginDirective(kotlinPluginName)) && fileText.contains("org.jetbrains.kotlin") && fileText.contains("kotlin-stdlib")