aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/util
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-12-02 01:04:35 +0800
committershedaniel <daniel@shedaniel.me>2021-12-02 01:04:35 +0800
commitd3b041a9dbae8a84ce49dfcd1442eb2277c7b32e (patch)
treee9409547bc7ec7752e910a3883836716a17bd28c /src/main/java/net/fabricmc/loom/util
parent152d2801e46c570db3c0a83ae46ca5364f53ee44 (diff)
downloadarchitectury-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.java5
-rw-r--r--src/main/java/net/fabricmc/loom/util/srg/SpecialSourceExecutor.java92
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);