From 9d1a2b1da1aa6977086de92a23a286332017655c Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 19 Jan 2021 09:25:36 +0800 Subject: [PATCH] Use Project#javaexec instead of creating a JavaExec task --- .../loom/util/srg/SpecialSourceExecutor.java | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java b/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java index aba46414..72a482cf 100644 --- a/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java +++ b/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java @@ -31,15 +31,12 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Arrays; import java.util.Set; -import java.util.UUID; import java.util.jar.JarOutputStream; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import org.apache.commons.io.IOUtils; import org.gradle.api.Project; -import org.gradle.api.tasks.JavaExec; -import org.gradle.util.GradleVersion; import org.zeroturnaround.zip.ZipUtil; import net.fabricmc.loom.LoomGradleExtension; @@ -79,19 +76,17 @@ public class SpecialSourceExecutor { }; project.getLogger().lifecycle(":remapping minecraft (SpecialSource, " + side + ", official -> srg)"); - JavaExec java = project.getTasks().create("PleaseIgnore_JavaExec_" + UUID.randomUUID().toString().replace("-", ""), JavaExec.class); - java.setArgs(Arrays.asList(args)); - java.setClasspath(project.files(specialSourceJar)); - java.setWorkingDir(tmpDir().toFile()); - java.setMain("net.md_5.specialsource.SpecialSource"); - java.setStandardOutput(System.out); - java.exec(); - if (GradleVersion.current().compareTo(GradleVersion.version("6.0.0")) >= 0) { - java.setEnabled(false); - } else { - project.getTasks().remove(java); - } + Path workingDir = tmpDir(); + + project.javaexec(spec -> { + spec.setArgs(Arrays.asList(args)); + spec.setClasspath(project.files(specialSourceJar)); + spec.workingDir(workingDir.toFile()); + spec.setMain("net.md_5.specialsource.SpecialSource"); + spec.setStandardOutput(System.out); + spec.setErrorOutput(System.out); + }).rethrowFailure().assertNormalExitValue(); Files.deleteIfExists(stripped);