diff --git a/release/release.gradle b/release/release.gradle index b44d3b7cc1..84ecf7b765 100644 --- a/release/release.gradle +++ b/release/release.gradle @@ -1,3 +1,5 @@ +import java.nio.charset.StandardCharsets + import groovy.json.JsonSlurper /* @@ -321,13 +323,28 @@ task ciRelease() { ciRelease.dependsOn updateChangeLogFile, release release.mustRunAfter updateChangeLogFile -void executeGitCommand(String command, String errorMessage){ +static void executeGitCommand(String command, String errorMessage){ def proc = command.execute() - def errorsStringBuffer = new StringBuffer() - proc.waitFor() - proc.consumeProcessErrorStream( errorsStringBuffer ) - if ( errorsStringBuffer.toString( ) != "" ) { - throw new GradleException( errorMessage + " " + b ); + def code = proc.waitFor() + def stdout = inputStreamToString( proc.getInputStream() ) + def stderr = inputStreamToString( proc.getErrorStream() ) + if ( code != 0 ) { + throw new GradleException( errorMessage + "\n\nstdout:\n" + stdout + "\n\nstderr:\n" + stderr ) + } +} + +static String inputStreamToString(InputStream inputStream) { + inputStream.withCloseable { ins -> + new BufferedInputStream(ins).withCloseable { bis -> + new ByteArrayOutputStream().withCloseable { buf -> + int result = bis.read(); + while (result != -1) { + buf.write((byte) result); + result = bis.read(); + } + return buf.toString( StandardCharsets.UTF_8.name()); + } + } } }