diff options
author | shedaniel <daniel@shedaniel.me> | 2021-09-20 01:59:54 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-09-20 01:59:54 +0800 |
commit | 6522a826e1adba9a55070df3d4ae38ecfcfce565 (patch) | |
tree | d7b0dc8f05d0438926b5eb6a614e1a45837cb5b3 | |
parent | fa105469f4928487c4c2a6085489bb1b15b1a2d1 (diff) | |
download | architectury-loom-6522a826e1adba9a55070df3d4ae38ecfcfce565.tar.gz architectury-loom-6522a826e1adba9a55070df3d4ae38ecfcfce565.tar.bz2 architectury-loom-6522a826e1adba9a55070df3d4ae38ecfcfce565.zip |
Fix forge with AT
Signed-off-by: shedaniel <daniel@shedaniel.me>
4 files changed, 24 insertions, 6 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/processors/MinecraftProcessedProvider.java b/src/main/java/net/fabricmc/loom/configuration/processors/MinecraftProcessedProvider.java index fd3e3bda..744bc53e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/processors/MinecraftProcessedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/processors/MinecraftProcessedProvider.java @@ -68,7 +68,7 @@ public class MinecraftProcessedProvider extends MinecraftMappedProvider { } getProject().getDependencies().add(Constants.Configurations.MINECRAFT_NAMED, - getProject().getDependencies().module("net.minecraft:minecraft-" + projectMappedClassifier + ":" + getMinecraftProvider().minecraftVersion() + "/" + getExtension().getMappingsProvider().mappingsIdentifier())); + getProject().getDependencies().module("net.minecraft:" + minecraftProvider.getJarPrefix() + "minecraft-" + projectMappedClassifier + ":" + getMinecraftProvider().minecraftVersion() + "/" + getExtension().getMappingsProvider().mappingsIdentifier())); } private void invalidateJar() { @@ -88,7 +88,7 @@ public class MinecraftProcessedProvider extends MinecraftMappedProvider { super.initFiles(minecraftProvider, mappingsProvider); projectMappedJar = new File(getDirectories().getRootProjectPersistentCache(), getMinecraftProvider().minecraftVersion() + "/" - + getExtension().getMappingsProvider().mappingsIdentifier() + "/minecraft-" + projectMappedClassifier + ".jar"); + + getExtension().getMappingsProvider().mappingsIdentifier() + "/" + minecraftProvider.getJarPrefix() + "minecraft-" + projectMappedClassifier + ".jar"); } @Override diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeProvider.java index d8f8800a..cd626652 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeProvider.java @@ -63,7 +63,7 @@ public class ForgeProvider extends DependencyProvider { public File getProjectCache() { if (projectCache == null) { - projectCache = new File(getDirectories().getProjectPersistentCache(), "forge/" + getExtension().getForgeProvider().getVersion().getCombined()); + projectCache = new File(getDirectories().getRootProjectPersistentCache(), getMinecraftProvider().minecraftVersion() + "/forge/" + getExtension().getForgeProvider().getVersion().getCombined() + "/project-" + getProject().getPath().replace(':', '@')); projectCache.mkdirs(); } diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java index fd2d95ca..5d03b971 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java @@ -73,7 +73,7 @@ public class MinecraftMappedProvider extends DependencyProvider { private File forgeIntermediaryJar; private File forgeSrgJar; - private MinecraftProviderImpl minecraftProvider; + protected MinecraftProviderImpl minecraftProvider; public MinecraftMappedProvider(Project project) { super(project); diff --git a/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java b/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java index 076f3674..34b8badf 100644 --- a/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java +++ b/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java @@ -26,6 +26,7 @@ package net.fabricmc.loom.configuration.sources; import java.io.File; import java.io.IOException; +import java.io.PrintStream; import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; @@ -39,11 +40,14 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.BiConsumer; import java.util.stream.Collectors; +import org.apache.commons.io.output.NullOutputStream; import org.cadixdev.lorenz.MappingSet; import org.cadixdev.mercury.Mercury; import org.cadixdev.mercury.remapper.MercuryRemapper; import org.gradle.api.Project; import org.gradle.api.artifacts.ResolvedArtifact; +import org.gradle.api.logging.LogLevel; +import org.gradle.api.logging.configuration.ShowStacktrace; import org.zeroturnaround.zip.ZipUtil; import net.fabricmc.loom.LoomGradleExtension; @@ -134,7 +138,21 @@ public class ForgeSourcesRemapper { taskCompleter.complete(); } + PrintStream out = System.out; + PrintStream err = System.err; + + if (project.getGradle().getStartParameter().getShowStacktrace() == ShowStacktrace.INTERNAL_EXCEPTIONS && project.getGradle().getStartParameter().getLogLevel().compareTo(LogLevel.LIFECYCLE) >= 0) { + System.setOut(new PrintStream(NullOutputStream.NULL_OUTPUT_STREAM)); + System.setErr(new PrintStream(NullOutputStream.NULL_OUTPUT_STREAM)); + } + remapForgeSourcesInner(project, tmpInput.toPath(), tmpOutput.toPath()); + + if (project.getGradle().getStartParameter().getShowStacktrace() == ShowStacktrace.INTERNAL_EXCEPTIONS && project.getGradle().getStartParameter().getLogLevel().compareTo(LogLevel.LIFECYCLE) >= 0) { + System.setOut(out); + System.setErr(err); + } + tmpInput.delete(); int[] failedToRemap = {0}; @@ -149,7 +167,7 @@ public class ForgeSourcesRemapper { sources.put(entry.getKey(), Files.readAllBytes(path)); } else { sources.remove(entry.getKey()); - project.getLogger().error("forge source failed to remap " + entry.getKey()); + project.getLogger().error("Failed to remap sources for " + entry.getKey()); failedToRemap[0]++; } }); @@ -161,7 +179,7 @@ public class ForgeSourcesRemapper { tmpOutput.delete(); if (failedToRemap[0] > 0) { - project.getLogger().error("{} forge sources failed to remap", failedToRemap[0]); + project.getLogger().error("Failed to remap {} forge sources", failedToRemap[0]); } } |