in src/main/kotlin/io/bazel/kotlin/builder/toolchain/CompilationTaskContext.kt [114:136]
fun executeCompilerTask(
args: List<String>,
compile: (Array<String>, PrintStream) -> Int,
printOnFail: Boolean = true,
printOnSuccess: Boolean = true
): List<String> {
val outputStream = ByteArrayOutputStream()
val ps = PrintStream(outputStream)
val result = compile(args.toTypedArray(), ps)
val output = ByteArrayInputStream(outputStream.toByteArray())
.bufferedReader()
.readLines()
if (result != 0) {
if (printOnFail) {
printCompilerOutput(output)
throw CompilationStatusException("compile phase failed", result)
}
throw CompilationStatusException("compile phase failed", result, output)
} else if (printOnSuccess) {
printCompilerOutput(output)
}
return output
}