fun executeCompilerTask()

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
  }