aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/configuration/mods
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-10-26 21:16:40 +0800
committershedaniel <daniel@shedaniel.me>2021-10-26 21:16:40 +0800
commitb23636065e55e2d80dcf4d821ef53ccbfbbf9059 (patch)
treefccd1c2cfed488ed0f5fe8cd152e6cbb83021f6a /src/main/java/net/fabricmc/loom/configuration/mods
parent4d170687f48e3e15e716c7e6dd91e4f8d669ecb1 (diff)
parent5c190cc3ef99507bbb38525c0f6a24480a7ec65c (diff)
downloadarchitectury-loom-b23636065e55e2d80dcf4d821ef53ccbfbbf9059.tar.gz
architectury-loom-b23636065e55e2d80dcf4d821ef53ccbfbbf9059.tar.bz2
architectury-loom-b23636065e55e2d80dcf4d821ef53ccbfbbf9059.zip
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
# Conflicts: # build.gradle # src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java # src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java # src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java # src/main/java/net/fabricmc/loom/task/RemapJarTask.java # src/main/java/net/fabricmc/loom/util/FileSystemUtil.java # src/main/java/net/fabricmc/loom/util/TinyRemapperHelper.java
Diffstat (limited to 'src/main/java/net/fabricmc/loom/configuration/mods')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java b/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
index 8e0c28c5..fcfb4336 100644
--- a/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
+++ b/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
@@ -27,6 +27,7 @@ package net.fabricmc.loom.configuration.mods;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.io.UncheckedIOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -49,9 +50,6 @@ import dev.architectury.tinyremapper.OutputConsumerPath;
import dev.architectury.tinyremapper.TinyRemapper;
import org.gradle.api.Project;
import org.objectweb.asm.commons.Remapper;
-import org.zeroturnaround.zip.ZipUtil;
-import org.zeroturnaround.zip.transform.StringZipEntryTransformer;
-import org.zeroturnaround.zip.transform.ZipEntryTransformerEntry;
import net.fabricmc.accesswidener.AccessWidenerReader;
import net.fabricmc.accesswidener.AccessWidenerRemapper;
@@ -66,7 +64,9 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftMappedProvid
import net.fabricmc.loom.util.Constants;
import net.fabricmc.loom.util.LoggerFilter;
import net.fabricmc.loom.util.TinyRemapperHelper;
+import net.fabricmc.loom.util.ZipUtils;
import net.fabricmc.loom.util.srg.AtRemapper;
+import net.fabricmc.tinyremapper.NonClassCopyMode;
import net.fabricmc.loom.util.srg.CoreModClassRemapper;
import net.fabricmc.mappingio.tree.MemoryMappingTree;
@@ -104,14 +104,14 @@ public class ModProcessor {
private static void stripNestedJars(File file) {
if (!ZipUtil.containsEntry(file, "fabric.mod.json")) return;
// Strip out all contained jar info as we dont want loader to try and load the jars contained in dev.
- ZipUtil.transformEntries(file, new ZipEntryTransformerEntry[]{(new ZipEntryTransformerEntry("fabric.mod.json", new StringZipEntryTransformer() {
- @Override
- protected String transform(ZipEntry zipEntry, String input) {
- JsonObject json = LoomGradlePlugin.GSON.fromJson(input, JsonObject.class);
+ try {
+ ZipUtils.transformJson(JsonObject.class, file.toPath(), Map.of("fabric.mod.json", json -> {
json.remove("jars");
- return LoomGradlePlugin.GSON.toJson(json);
- }
- }))});
+ return json;
+ }));
+ } catch (IOException e) {
+ throw new UncheckedIOException("Failed to strip nested jars from %s".formatted(file), e);
+ }
}
/**
@@ -194,12 +194,12 @@ public class ModProcessor {
try {
OutputConsumerPath outputConsumer = new OutputConsumerPath.Builder(info.getRemappedOutput().toPath()).build();
- outputConsumer.addNonClassFiles(info.getInputFile().toPath());
+ outputConsumer.addNonClassFiles(info.getInputFile().toPath(), NonClassCopyMode.FIX_META_INF, remapper);
outputConsumerMap.put(info, outputConsumer);
String accessWidener = info.getAccessWidener();
if (accessWidener != null) {
- accessWidenerMap.put(info, remapAccessWidener(ZipUtil.unpackEntry(info.inputFile, accessWidener), remapper.getRemapper()));
+ accessWidenerMap.put(info, remapAccessWidener(ZipUtils.unpack(info.inputFile.toPath(), accessWidener), remapper.getRemapper()));
}
remapper.apply(outputConsumer, tagMap.get(info));
@@ -219,7 +219,7 @@ public class ModProcessor {
byte[] accessWidener = accessWidenerMap.get(info);
if (accessWidener != null) {
- ZipUtil.replaceEntry(info.getRemappedOutput(), info.getAccessWidener(), accessWidener);
+ ZipUtils.replace(info.getRemappedOutput().toPath(), info.getAccessWidener(), accessWidener);
}
if (extension.isForge()) {