Fix build module in AndroidStudio for REPL and Scratch

^KT-23560 Fixed
This commit is contained in:
Natalia Selezneva
2018-12-04 15:25:25 +03:00
parent ee5ede08c1
commit 9e2ff04e1b
2 changed files with 6 additions and 7 deletions
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.idea.scratch.actions
import com.intellij.icons.AllIcons
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.compiler.CompilerManager
import com.intellij.openapi.keymap.KeymapManager
import com.intellij.openapi.keymap.KeymapUtil
import com.intellij.openapi.project.DumbService
import com.intellij.task.ProjectTaskManager
import org.jetbrains.kotlin.idea.KotlinBundle
import org.jetbrains.kotlin.idea.scratch.ScratchFile
import org.jetbrains.kotlin.idea.scratch.ScratchFileLanguageProvider
@@ -97,8 +97,8 @@ class RunScratchAction : ScratchAction(
}
if (isMakeBeforeRun) {
CompilerManager.getInstance(project).make(module) { aborted, errors, _, _ ->
if (aborted || errors > 0) {
ProjectTaskManager.getInstance(project).build(arrayOf(module)) { result ->
if (result.isAborted || result.errors > 0) {
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.Executor
import com.intellij.execution.ui.RunContentDescriptor
import com.intellij.openapi.compiler.CompileContext
import com.intellij.openapi.compiler.CompilerManager
import com.intellij.openapi.module.Module
import com.intellij.openapi.project.Project
import com.intellij.task.ProjectTaskManager
class ConsoleCompilerHelper(
private val project: Project,
@@ -39,10 +39,9 @@ class ConsoleCompilerHelper(
fun compileModule() {
if (ExecutionManager.getInstance(project).contentManager.removeRunContent(executor, contentDescriptor)) {
CompilerManager.getInstance(project).make(module) {
_: Boolean, errors: Int, _: Int, _: CompileContext ->
ProjectTaskManager.getInstance(project).build(arrayOf(module)) { result ->
if (!module.isDisposed) {
KotlinConsoleKeeper.getInstance(project).run(module, previousCompilationFailed = errors > 0)
KotlinConsoleKeeper.getInstance(project).run(module, previousCompilationFailed = result.errors > 0)
}
}
}