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.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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user