diff --git a/plugin-utils/src/main/java/io/freefair/gradle/util/GitUtil.java b/plugin-utils/src/main/java/io/freefair/gradle/util/GitUtil.java index 7b64b00b..71faf79a 100644 --- a/plugin-utils/src/main/java/io/freefair/gradle/util/GitUtil.java +++ b/plugin-utils/src/main/java/io/freefair/gradle/util/GitUtil.java @@ -3,6 +3,7 @@ import lombok.experimental.UtilityClass; import org.codehaus.groovy.runtime.ProcessGroovyMethods; import org.gradle.api.Project; +import org.gradle.process.ExecOutput; import org.gradle.process.ExecResult; import java.io.ByteArrayOutputStream; @@ -53,18 +54,14 @@ public String getRef(Project project) { public static String execute(Project project, String... command) { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - - ExecResult execResult = project.exec(execSpec -> { - execSpec.workingDir(project.getProjectDir()); + ExecOutput execOutput = project.getProviders().exec(execSpec -> { + execSpec.setWorkingDir(project.getProjectDir()); execSpec.commandLine((Object[]) command); - execSpec.setStandardOutput(outputStream); }); - if (execResult.getExitValue() == 0) { - return outputStream.toString().trim(); - } else { - return null; - } + return execOutput.getStandardOutput().getAsText() + .map(String::trim) + .get(); + } }