Use Gradle message renderer if the compiler is started from daemon

This change allows us to get rid of using system properties to
configure the message renderer.

See https://youtrack.jetbrains.com/issue/KT-37550.
This commit is contained in:
Ilya Matveev
2020-05-12 19:43:20 +07:00
committed by Ilya Matveev
parent cc631f1f99
commit e8c94bc261
2 changed files with 14 additions and 4 deletions
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoot
import org.jetbrains.kotlin.cli.common.config.kotlinSourceRoots
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.*
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
@@ -263,8 +264,17 @@ class K2Native : CLICompiler<K2NativeCompilerArguments>() {
}
@JvmStatic fun mainNoExit(args: Array<String>) {
profile("Total compiler main()") {
if (CLITool.doMainNoExit(K2Native(), args) != ExitCode.OK)
if (doMainNoExit(K2Native(), args) != ExitCode.OK) {
throw KonanCompilationException("Compilation finished with errors")
}
}
}
@JvmStatic fun mainNoExitWithGradleRenderer(args: Array<String>) {
profile("Total compiler main()") {
if (doMainNoExit(K2Native(), args, MessageRenderer.GRADLE_STYLE) != ExitCode.OK) {
throw KonanCompilationException("Compilation finished with errors")
}
}
}
}
@@ -413,4 +423,4 @@ private fun parseShortModuleName(
}
fun main(args: Array<String>) = K2Native.main(args)
fun mainNoExit(args: Array<String>) = K2Native.mainNoExit(args)
fun mainNoExitWithGradleRenderer(args: Array<String>) = K2Native.mainNoExitWithGradleRenderer(args)
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.cli.utilities
import org.jetbrains.kotlin.native.interop.gen.defFileDependencies
import org.jetbrains.kotlin.cli.bc.main as konancMain
import org.jetbrains.kotlin.cli.klib.main as klibMain
import org.jetbrains.kotlin.cli.bc.mainNoExit as konancMainNoExit
import org.jetbrains.kotlin.cli.bc.mainNoExitWithGradleRenderer as konancMainForGradle
private fun mainImpl(args: Array<String>, konancMain: (Array<String>) -> Unit) {
val utilityName = args[0]
@@ -36,5 +36,5 @@ private fun mainImpl(args: Array<String>, konancMain: (Array<String>) -> Unit) {
fun main(args: Array<String>) = mainImpl(args, ::konancMain)
fun daemonMain(args: Array<String>) = mainImpl(args, ::konancMainNoExit)
fun daemonMain(args: Array<String>) = mainImpl(args, ::konancMainForGradle)