From e8c94bc261404e829c603049dd7d0c7d439436fa Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 12 May 2020 19:43:20 +0700 Subject: [PATCH] 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. --- .../src/org/jetbrains/kotlin/cli/bc/K2Native.kt | 14 ++++++++++++-- .../org/jetbrains/kotlin/cli/utilities/main.kt | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt b/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt index f733e725a14..da8011d5ebe 100644 --- a/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt +++ b/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt @@ -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() { } @JvmStatic fun mainNoExit(args: Array) { 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) { + 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) = K2Native.main(args) -fun mainNoExit(args: Array) = K2Native.mainNoExit(args) +fun mainNoExitWithGradleRenderer(args: Array) = K2Native.mainNoExitWithGradleRenderer(args) diff --git a/utilities/cli-runner/src/main/kotlin/org/jetbrains/kotlin/cli/utilities/main.kt b/utilities/cli-runner/src/main/kotlin/org/jetbrains/kotlin/cli/utilities/main.kt index 6c24dff69b0..9c292b7513c 100644 --- a/utilities/cli-runner/src/main/kotlin/org/jetbrains/kotlin/cli/utilities/main.kt +++ b/utilities/cli-runner/src/main/kotlin/org/jetbrains/kotlin/cli/utilities/main.kt @@ -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, konancMain: (Array) -> Unit) { val utilityName = args[0] @@ -36,5 +36,5 @@ private fun mainImpl(args: Array, konancMain: (Array) -> Unit) { fun main(args: Array) = mainImpl(args, ::konancMain) -fun daemonMain(args: Array) = mainImpl(args, ::konancMainNoExit) +fun daemonMain(args: Array) = mainImpl(args, ::konancMainForGradle)