Fix build module in AndroidStudio for REPL and Scratch
^KT-23560 Fixed
This commit is contained in:
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.idea.scratch.actions
|
|||||||
import com.intellij.icons.AllIcons
|
import com.intellij.icons.AllIcons
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.compiler.CompilerManager
|
|
||||||
import com.intellij.openapi.keymap.KeymapManager
|
import com.intellij.openapi.keymap.KeymapManager
|
||||||
import com.intellij.openapi.keymap.KeymapUtil
|
import com.intellij.openapi.keymap.KeymapUtil
|
||||||
import com.intellij.openapi.project.DumbService
|
import com.intellij.openapi.project.DumbService
|
||||||
|
import com.intellij.task.ProjectTaskManager
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFileLanguageProvider
|
import org.jetbrains.kotlin.idea.scratch.ScratchFileLanguageProvider
|
||||||
@@ -97,8 +97,8 @@ class RunScratchAction : ScratchAction(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isMakeBeforeRun) {
|
if (isMakeBeforeRun) {
|
||||||
CompilerManager.getInstance(project).make(module) { aborted, errors, _, _ ->
|
ProjectTaskManager.getInstance(project).build(arrayOf(module)) { result ->
|
||||||
if (aborted || errors > 0) {
|
if (result.isAborted || result.errors > 0) {
|
||||||
handler.error(scratchFile, "There were compilation errors in module ${module.name}")
|
handler.error(scratchFile, "There were compilation errors in module ${module.name}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.console
|
|||||||
import com.intellij.execution.ExecutionManager
|
import com.intellij.execution.ExecutionManager
|
||||||
import com.intellij.execution.Executor
|
import com.intellij.execution.Executor
|
||||||
import com.intellij.execution.ui.RunContentDescriptor
|
import com.intellij.execution.ui.RunContentDescriptor
|
||||||
import com.intellij.openapi.compiler.CompileContext
|
|
||||||
import com.intellij.openapi.compiler.CompilerManager
|
import com.intellij.openapi.compiler.CompilerManager
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.task.ProjectTaskManager
|
||||||
|
|
||||||
class ConsoleCompilerHelper(
|
class ConsoleCompilerHelper(
|
||||||
private val project: Project,
|
private val project: Project,
|
||||||
@@ -39,10 +39,9 @@ class ConsoleCompilerHelper(
|
|||||||
|
|
||||||
fun compileModule() {
|
fun compileModule() {
|
||||||
if (ExecutionManager.getInstance(project).contentManager.removeRunContent(executor, contentDescriptor)) {
|
if (ExecutionManager.getInstance(project).contentManager.removeRunContent(executor, contentDescriptor)) {
|
||||||
CompilerManager.getInstance(project).make(module) {
|
ProjectTaskManager.getInstance(project).build(arrayOf(module)) { result ->
|
||||||
_: Boolean, errors: Int, _: Int, _: CompileContext ->
|
|
||||||
if (!module.isDisposed) {
|
if (!module.isDisposed) {
|
||||||
KotlinConsoleKeeper.getInstance(project).run(module, previousCompilationFailed = errors > 0)
|
KotlinConsoleKeeper.getInstance(project).run(module, previousCompilationFailed = result.errors > 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user