[Gradle, JS] Useful message on exception for webpack
#KT-38286 fixed
This commit is contained in:
+4
-5
@@ -75,13 +75,14 @@ internal fun Project.execWithErrorLogger(description: String, body: (ExecAction)
|
||||
body(exec)
|
||||
return project!!.operation(description) {
|
||||
progress(description)
|
||||
val client = TeamCityMessageCommonClient(logger, this)
|
||||
exec.standardOutput = TCServiceMessageOutputStreamHandler(
|
||||
client = TeamCityMessageCommonClient(logger, this),
|
||||
client = client,
|
||||
onException = { },
|
||||
logger = logger
|
||||
)
|
||||
exec.errorOutput = TCServiceMessageOutputStreamHandler(
|
||||
client = TeamCityMessageCommonClient(logger, this),
|
||||
client = client,
|
||||
onException = { },
|
||||
logger = logger
|
||||
)
|
||||
@@ -89,9 +90,7 @@ internal fun Project.execWithErrorLogger(description: String, body: (ExecAction)
|
||||
val result = exec.execute()
|
||||
if (result.exitValue != 0) {
|
||||
error(
|
||||
"""
|
||||
Process '$description' returns ${result.exitValue}
|
||||
""".trimIndent()
|
||||
client.testFailedMessage()
|
||||
)
|
||||
}
|
||||
result
|
||||
|
||||
+12
@@ -10,6 +10,7 @@ import jetbrains.buildServer.messages.serviceMessages.ServiceMessage
|
||||
import jetbrains.buildServer.messages.serviceMessages.ServiceMessageParserCallback
|
||||
import org.gradle.api.logging.Logger
|
||||
import org.gradle.internal.logging.progress.ProgressLogger
|
||||
import org.jetbrains.kotlin.gradle.utils.clearAnsiColor
|
||||
import java.text.ParseException
|
||||
|
||||
class TeamCityMessageCommonClient(
|
||||
@@ -17,6 +18,8 @@ class TeamCityMessageCommonClient(
|
||||
private val progressLogger: ProgressLogger
|
||||
) : ServiceMessageParserCallback {
|
||||
|
||||
private val errors = mutableListOf<String>()
|
||||
|
||||
private val stackTraceProcessor = TeamCityMessageStackTraceProcessor()
|
||||
|
||||
override fun parseException(e: ParseException, text: String) {
|
||||
@@ -29,6 +32,11 @@ class TeamCityMessageCommonClient(
|
||||
}
|
||||
}
|
||||
|
||||
internal fun testFailedMessage(): String {
|
||||
return errors
|
||||
.joinToString("\n")
|
||||
}
|
||||
|
||||
private fun printMessage(text: String, type: String?) {
|
||||
val value = text.trimEnd()
|
||||
progressLogger.progress(value)
|
||||
@@ -41,6 +49,10 @@ class TeamCityMessageCommonClient(
|
||||
}
|
||||
}
|
||||
|
||||
when (actualType) {
|
||||
ERROR, WARN -> errors.add(value.clearAnsiColor())
|
||||
}
|
||||
|
||||
actualType?.let { log.processLogMessage(value, it) }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user