[Gradle, JS] Remove redundant spaces in stacktrace

#KT-38286 fixed
This commit is contained in:
Ilya Goncharov
2020-04-15 11:56:32 +03:00
parent 77d8864abd
commit 2e1735735a
@@ -18,6 +18,8 @@ class TeamCityMessageCommonClient(
private val progressLogger: ProgressLogger private val progressLogger: ProgressLogger
) : ServiceMessageParserCallback { ) : ServiceMessageParserCallback {
var afterMessage = false
private val errors = mutableListOf<String>() private val errors = mutableListOf<String>()
private val stackTraceProcessor = TeamCityMessageStackTraceProcessor() private val stackTraceProcessor = TeamCityMessageStackTraceProcessor()
@@ -30,6 +32,8 @@ class TeamCityMessageCommonClient(
when (message) { when (message) {
is Message -> printMessage(message.text, LogType.byValueOrNull(message.attributes["type"])) is Message -> printMessage(message.text, LogType.byValueOrNull(message.attributes["type"]))
} }
afterMessage = true
} }
internal fun testFailedMessage(): String { internal fun testFailedMessage(): String {
@@ -41,7 +45,14 @@ class TeamCityMessageCommonClient(
val value = text.trimEnd() val value = text.trimEnd()
progressLogger.progress(value) progressLogger.progress(value)
val inStackTrace = stackTraceProcessor.process(text) { line, logType -> val actualText = if (afterMessage)
when {
value.startsWith("\r\n") -> value.removePrefix("\r\n")
else -> value.removePrefix("\n")
}
else value
val inStackTrace = stackTraceProcessor.process(actualText) { line, logType ->
log.processLogMessage(line, logType) log.processLogMessage(line, logType)
errors.add(line.clearAnsiColor()) errors.add(line.clearAnsiColor())
} }
@@ -49,10 +60,10 @@ class TeamCityMessageCommonClient(
if (inStackTrace) return if (inStackTrace) return
if (type?.isErrorLike() == true) { if (type?.isErrorLike() == true) {
errors.add(value.clearAnsiColor()) errors.add(actualText.clearAnsiColor())
} }
type?.let { log.processLogMessage(value, it) } type?.let { log.processLogMessage(actualText, it) }
} }
override fun regularText(text: String) { override fun regularText(text: String) {