From 0514437fbadec483bce51de9233eeeffc3d3c5a4 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Thu, 13 Jun 2019 18:11:27 +0300 Subject: [PATCH] Build: Workaround scripting dependencies on full Idea --- plugins/scripting/scripting-compiler-impl/build.gradle.kts | 3 +++ .../jetbrains/kotlin/scripting/definitions/definitions.kt | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/scripting/scripting-compiler-impl/build.gradle.kts b/plugins/scripting/scripting-compiler-impl/build.gradle.kts index 08663c26046..1558098acb7 100644 --- a/plugins/scripting/scripting-compiler-impl/build.gradle.kts +++ b/plugins/scripting/scripting-compiler-impl/build.gradle.kts @@ -20,6 +20,9 @@ dependencies { compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } + // FIXME: drop after removing references to LocalFileSystem they don't exist in intellij-core + compileOnly(intellijDep()) { includeJars("platform-api") } + testCompile(project(":compiler:frontend")) testCompile(project(":compiler:plugin-api")) testCompile(project(":compiler:util")) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt index ae565dd1592..931a545d274 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt @@ -6,15 +6,20 @@ package org.jetbrains.kotlin.scripting.definitions import com.intellij.ide.highlighter.JavaClassFileType -import com.intellij.openapi.application.runReadAction +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.fileTypes.FileTypeRegistry import com.intellij.openapi.project.Project +import com.intellij.openapi.util.Computable import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiFile import com.intellij.psi.PsiManager import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.psi.KtFile +inline fun runReadAction(crossinline runnable: () -> T): T { + return ApplicationManager.getApplication().runReadAction(Computable { runnable() }) +} + fun PsiFile.findScriptDefinition(): ScriptDefinition? { // Do not use psiFile.script, see comments in findScriptDefinition if (this !is KtFile/* || this.script == null*/) return null