HHH-14083 Fix error detection in executeGitCommand
This commit is contained in:
parent
fe6a20df8e
commit
921e4caff9
|
@ -1,3 +1,5 @@
|
||||||
|
import java.nio.charset.StandardCharsets
|
||||||
|
|
||||||
import groovy.json.JsonSlurper
|
import groovy.json.JsonSlurper
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -321,13 +323,28 @@ task ciRelease() {
|
||||||
ciRelease.dependsOn updateChangeLogFile, release
|
ciRelease.dependsOn updateChangeLogFile, release
|
||||||
release.mustRunAfter updateChangeLogFile
|
release.mustRunAfter updateChangeLogFile
|
||||||
|
|
||||||
void executeGitCommand(String command, String errorMessage){
|
static void executeGitCommand(String command, String errorMessage){
|
||||||
def proc = command.execute()
|
def proc = command.execute()
|
||||||
def errorsStringBuffer = new StringBuffer()
|
def code = proc.waitFor()
|
||||||
proc.waitFor()
|
def stdout = inputStreamToString( proc.getInputStream() )
|
||||||
proc.consumeProcessErrorStream( errorsStringBuffer )
|
def stderr = inputStreamToString( proc.getErrorStream() )
|
||||||
if ( errorsStringBuffer.toString( ) != "" ) {
|
if ( code != 0 ) {
|
||||||
throw new GradleException( errorMessage + " " + b );
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue