diff options
author | shedaniel <daniel@shedaniel.me> | 2021-10-26 21:16:40 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-10-26 21:16:40 +0800 |
commit | b23636065e55e2d80dcf4d821ef53ccbfbbf9059 (patch) | |
tree | fccd1c2cfed488ed0f5fe8cd152e6cbb83021f6a /src/main/java/net/fabricmc/loom/configuration/mods | |
parent | 4d170687f48e3e15e716c7e6dd91e4f8d669ecb1 (diff) | |
parent | 5c190cc3ef99507bbb38525c0f6a24480a7ec65c (diff) | |
download | architectury-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.java | 26 |
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()) { |