[K/N, CLI] Pass through errors from Gradle to Xcode
^KT-55650 Merge-request: KT-MR-8245 Merged-by: Artem Daugel-Dauge <Artem.Daugel-Dauge@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
a7cb58418b
commit
0d1e7e83b5
@@ -142,6 +142,7 @@ abstract class CLITool<A : CommonToolArguments> {
|
||||
when (System.getProperty(MessageRenderer.PROPERTY_KEY)) {
|
||||
MessageRenderer.XML.name -> MessageRenderer.XML
|
||||
MessageRenderer.GRADLE_STYLE.name -> MessageRenderer.GRADLE_STYLE
|
||||
MessageRenderer.XCODE_STYLE.name -> MessageRenderer.XCODE_STYLE
|
||||
MessageRenderer.WITHOUT_PATHS.name -> MessageRenderer.WITHOUT_PATHS
|
||||
MessageRenderer.PLAIN_FULL_PATHS.name -> MessageRenderer.PLAIN_FULL_PATHS
|
||||
else -> MessageRenderer.PLAIN_RELATIVE_PATHS
|
||||
|
||||
@@ -89,6 +89,8 @@ public interface MessageRenderer {
|
||||
|
||||
MessageRenderer GRADLE_STYLE = new GradleStyleMessageRenderer();
|
||||
|
||||
MessageRenderer XCODE_STYLE = new XcodeStyleMessageRenderer();
|
||||
|
||||
String renderPreamble();
|
||||
|
||||
String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location);
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.cli.common.messages
|
||||
|
||||
// https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Log-errors-and-warnings-from-your-script
|
||||
class XcodeStyleMessageRenderer : MessageRenderer {
|
||||
|
||||
override fun render(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?): String {
|
||||
val xcodeSeverity = when (severity) {
|
||||
CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> "warning"
|
||||
CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> "error"
|
||||
CompilerMessageSeverity.LOGGING, CompilerMessageSeverity.OUTPUT, CompilerMessageSeverity.INFO -> "note"
|
||||
}
|
||||
|
||||
return buildString {
|
||||
location?.apply {
|
||||
append("$path:$line:$column: ")
|
||||
}
|
||||
|
||||
append("$xcodeSeverity: $message")
|
||||
}
|
||||
}
|
||||
|
||||
override fun renderPreamble() = ""
|
||||
|
||||
override fun renderUsage(usage: String) = usage
|
||||
|
||||
override fun renderConclusion() = ""
|
||||
|
||||
override fun getName() = "XcodeStyle"
|
||||
}
|
||||
Reference in New Issue
Block a user