diff options
author | shedaniel <daniel@shedaniel.me> | 2021-12-02 01:04:35 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-12-02 01:04:35 +0800 |
commit | d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e (patch) | |
tree | e9409547bc7ec7752e910a3883836716a17bd28c /src/main/java/net/fabricmc/loom/util | |
parent | 152d2801e46c570db3c0a83ae46ca5364f53ee44 (diff) | |
download | architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.tar.gz architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.tar.bz2 architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.zip |
Fix support for Forge 1.18
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/net/fabricmc/loom/util')
-rw-r--r-- | src/main/java/net/fabricmc/loom/util/Constants.java | 5 | ||||
-rw-r--r-- | src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java | 92 |
2 files changed, 22 insertions, 75 deletions
diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index 65c3a666..8160b361 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -107,8 +107,6 @@ public class Constants { public static final String JAVAX_ANNOTATIONS = "com.google.code.findbugs:jsr305:"; // I hate that I have to add these. public static final String FORGE_RUNTIME = "dev.architectury:architectury-loom-runtime:"; public static final String ACCESS_TRANSFORMERS = "net.minecraftforge:accesstransformers:"; - public static final String SPECIAL_SOURCE = "net.md-5:SpecialSource:"; - public static final String VIGNETTE = "net.minecraftforge.lex:vignette:"; private Dependencies() { } @@ -124,8 +122,7 @@ public class Constants { public static final String JAVAX_ANNOTATIONS = "3.0.2"; public static final String FORGE_RUNTIME = "1.1.3"; public static final String ACCESS_TRANSFORMERS = "3.0.1"; - public static final String SPECIAL_SOURCE = "1.8.3"; - public static final String VIGNETTE = "0.2.0.10"; + public static final String ACCESS_TRANSFORMERS_NEW = "8.0.5"; private Versions() { } 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 13ffa72a..64ccd6c8 100644 --- a/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java +++ b/src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java @@ -30,8 +30,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -44,6 +42,7 @@ import org.gradle.api.logging.LogLevel; import org.gradle.api.logging.configuration.ShowStacktrace; import net.fabricmc.loom.LoomGradleExtension; +import net.fabricmc.loom.configuration.providers.forge.McpConfigProvider.RemapAction; import net.fabricmc.loom.util.FileSystemUtil; import net.fabricmc.loom.util.ThreadingUtils; @@ -58,7 +57,7 @@ public class SpecialSourceExecutor { return string; } - public static Path produceSrgJar(boolean specialSource, Project project, String side, FileCollection classpath, Set<File> mcLibs, Path officialJar, Path mappings) + public static Path produceSrgJar(RemapAction remapAction, Project project, String side, Set<File> mcLibs, Path officialJar, Path mappings) throws Exception { Set<String> filter = Files.readAllLines(mappings, StandardCharsets.UTF_8).stream() .filter(s -> !s.startsWith("\t")) @@ -105,79 +104,30 @@ public class SpecialSourceExecutor { Files.deleteIfExists(output); stopwatch = Stopwatch.createStarted(); - if (specialSource) { - String[] args = new String[] { - "--in-jar", - stripped.toAbsolutePath().toString(), - "--out-jar", - output.toAbsolutePath().toString(), - "--srg-in", - mappings.toAbsolutePath().toString() - }; - - project.getLogger().lifecycle(":remapping minecraft (SpecialSource, " + side + ", official -> srg)"); - - Path workingDir = tmpDir(); - - project.javaexec(spec -> { - spec.setArgs(Arrays.asList(args)); - spec.setClasspath(classpath); - spec.workingDir(workingDir.toFile()); - spec.getMainClass().set("net.md_5.specialsource.SpecialSource"); - - // if running with INFO or DEBUG logging - if (project.getGradle().getStartParameter().getShowStacktrace() != ShowStacktrace.INTERNAL_EXCEPTIONS - || project.getGradle().getStartParameter().getLogLevel().compareTo(LogLevel.LIFECYCLE) < 0) { - spec.setStandardOutput(System.out); - spec.setErrorOutput(System.err); - } else { - spec.setStandardOutput(NullOutputStream.NULL_OUTPUT_STREAM); - spec.setErrorOutput(NullOutputStream.NULL_OUTPUT_STREAM); - } - }).rethrowFailure().assertNormalExitValue(); - - project.getLogger().lifecycle(":remapped minecraft (SpecialSource, " + side + ", official -> srg) in " + stopwatch.stop()); - } else { - List<String> args = new ArrayList<>(Arrays.asList( - "--jar-in", - stripped.toAbsolutePath().toString(), - "--jar-out", - output.toAbsolutePath().toString(), - "--mapping-format", - "tsrg2", - "--mappings", - mappings.toAbsolutePath().toString(), - "--create-inits", - "--fix-param-annotations" - )); - - for (File file : mcLibs) { - args.add("-e=" + file.getAbsolutePath()); - } + List<String> args = remapAction.getArgs(stripped, output, mappings, project.files(mcLibs)); - project.getLogger().lifecycle(":remapping minecraft (Vignette, " + side + ", official -> mojang)"); + project.getLogger().lifecycle(":remapping minecraft (" + remapAction + ", " + side + ", official -> mojang)"); - Path workingDir = tmpDir(); + Path workingDir = tmpDir(); - project.javaexec(spec -> { - spec.setArgs(args); - spec.setClasspath(classpath); - spec.workingDir(workingDir.toFile()); - spec.getMainClass().set("org.cadixdev.vignette.VignetteMain"); + project.javaexec(spec -> { + spec.setArgs(args); + spec.setClasspath(remapAction.getClasspath()); + spec.workingDir(workingDir.toFile()); + spec.getMainClass().set(remapAction.getMainClass()); - // if running with INFO or DEBUG logging - if (project.getGradle().getStartParameter().getShowStacktrace() != ShowStacktrace.INTERNAL_EXCEPTIONS - || project.getGradle().getStartParameter().getLogLevel().compareTo(LogLevel.LIFECYCLE) < 0) { - spec.setStandardOutput(System.out); - spec.setErrorOutput(System.err); - } else { - spec.setStandardOutput(NullOutputStream.NULL_OUTPUT_STREAM); - spec.setErrorOutput(NullOutputStream.NULL_OUTPUT_STREAM); - } - }).rethrowFailure().assertNormalExitValue(); + // if running with INFO or DEBUG logging + if (project.getGradle().getStartParameter().getShowStacktrace() != ShowStacktrace.INTERNAL_EXCEPTIONS + || project.getGradle().getStartParameter().getLogLevel().compareTo(LogLevel.LIFECYCLE) < 0) { + spec.setStandardOutput(System.out); + spec.setErrorOutput(System.err); + } else { + spec.setStandardOutput(NullOutputStream.NULL_OUTPUT_STREAM); + spec.setErrorOutput(NullOutputStream.NULL_OUTPUT_STREAM); + } + }).rethrowFailure().assertNormalExitValue(); - project.getLogger().lifecycle(":remapped minecraft (Vignette, " + side + ", official -> mojang) in " + stopwatch.stop()); - } + project.getLogger().lifecycle(":remapped minecraft (" + remapAction + ", " + side + ", official -> mojang) in " + stopwatch.stop()); Files.deleteIfExists(stripped); |