From 6dac9a92c1aa182fa829853ca450bef5afabbcb7 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 13 Nov 2015 17:29:04 -0800 Subject: [PATCH] Better callback support. --- .../kotlin/com/beust/kobalt/misc/RunCommand.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/misc/RunCommand.kt b/src/main/kotlin/com/beust/kobalt/misc/RunCommand.kt index 6f56cbfc..46e8892b 100644 --- a/src/main/kotlin/com/beust/kobalt/misc/RunCommand.kt +++ b/src/main/kotlin/com/beust/kobalt/misc/RunCommand.kt @@ -7,8 +7,9 @@ import java.io.InputStreamReader import java.util.concurrent.TimeUnit open class RunCommand(val command: String) { - val defaultSuccess = { output: List -> } -// val defaultSuccessVerbose = { output: List -> log(2, "Success:\n " + output.joinToString("\n"))} + val DEFAULT_SUCCESS = { output: List -> } +// val DEFAULT_SUCCESS_VERBOSE = { output: List -> log(2, "Success:\n " + output.joinToString("\n"))} + val defaultSuccess = DEFAULT_SUCCESS val defaultError = { output: List -> error("Error:\n " + output.joinToString("\n")) } @@ -16,8 +17,9 @@ open class RunCommand(val command: String) { var directory = File(".") var env = hashMapOf() - fun run(args: List, errorCb: Function1, Unit> = defaultError, - successCb: Function1, Unit> = defaultSuccess) : Int { + fun run(args: List, + errorCallback: Function1, Unit> = defaultError, + successCallback: Function1, Unit> = defaultSuccess) : Int { val allArgs = arrayListOf() allArgs.add(command) allArgs.addAll(args) @@ -34,9 +36,9 @@ open class RunCommand(val command: String) { val callSucceeded = process.waitFor(30, TimeUnit.SECONDS) // val callSucceeded = if (passed == 0) true else false if (callSucceeded) { - successCb(fromStream(process.inputStream)) + successCallback(fromStream(process.inputStream)) } else { - errorCb(listOf("$command failed") + fromStream(process.errorStream)) + errorCallback(listOf("$command failed") + fromStream(process.errorStream)) } return if (callSucceeded) 0 else 1