in src/main/kotlin/io/bazel/worker/IO.kt [50:68]
fun capture(): IO {
val stdErr = System.err
val stdIn = BufferedInputStream(System.`in`)
val stdOut = System.out
val inputBuffer = ByteArrayInputStream(ByteArray(0))
val captured = ByteArrayOutputStream()
val outputBuffer = PrintStream(captured)
// delegate the system defaults to capture execution information
System.setErr(outputBuffer)
System.setOut(outputBuffer)
System.setIn(inputBuffer)
return IO(stdIn, stdOut, captured) {
System.setOut(stdOut)
System.setIn(stdIn)
System.setErr(stdErr)
}
}