From 6f94a198984da477ed8fd099bd48d53943f893dd Mon Sep 17 00:00:00 2001 From: Matyrobbrt Date: Sun, 2 Feb 2025 20:42:47 +0200 Subject: [PATCH] Downgrade ART --- build.gradle | 3 ++- .../net/neoforged/waifu/GameVersionIndexService.java | 5 ++++- .../net/neoforged/waifu/util/NeoForgeJarProvider.java | 11 +++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index ef67e11..74d66ff 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,8 @@ dependencies { implementation "net.dv8tion:JDA:5.2.3" implementation 'pw.chew:jda-chewtils:2.0' - implementation 'net.neoforged:AutoRenamingTool:2.0.8' + // we can't bump this because of https://github.com/neoforged/AutoRenamingTool/pull/13 + implementation 'net.neoforged:AutoRenamingTool:2.0.3' implementation 'net.neoforged.installertools:binarypatcher:2.1.2' implementation 'io.github.matyrobbrt:curseforgeapi:2.1.0' diff --git a/src/main/java/net/neoforged/waifu/GameVersionIndexService.java b/src/main/java/net/neoforged/waifu/GameVersionIndexService.java index 6146dd6..8d7c4b3 100644 --- a/src/main/java/net/neoforged/waifu/GameVersionIndexService.java +++ b/src/main/java/net/neoforged/waifu/GameVersionIndexService.java @@ -120,7 +120,10 @@ public void runWithExceptions() { var scanned = indexer.index(platform, VIRTUAL_THREAD_EXECUTOR, CONCURRENCY, monitor, sanitizer); for (ModIndexer.IndexCandidate indexCandidate : scanned) { - indexCandidate.file().close(); + // Only manually close platform files as they'll propagate the close call to their nested jars in the correct order + if (indexCandidate.platformFile() != null) { + indexCandidate.file().close(); + } } listener.markFinish(scanned.size()); diff --git a/src/main/java/net/neoforged/waifu/util/NeoForgeJarProvider.java b/src/main/java/net/neoforged/waifu/util/NeoForgeJarProvider.java index 9bb1581..e0dcf1c 100644 --- a/src/main/java/net/neoforged/waifu/util/NeoForgeJarProvider.java +++ b/src/main/java/net/neoforged/waifu/util/NeoForgeJarProvider.java @@ -75,14 +75,17 @@ public static List provide(String neoVersion) throws IOException { "--write-result=node.stripClient.output.output:" + stripClientJar.toAbsolutePath(), "--write-result=node.downloadClient.output.output:" + rawJar.toAbsolutePath()); - Renamer.builder() + var renamer = Renamer.builder() .logger(s -> {}) .map(mappings.toFile()) - .add(Transformer.parameterAnnotationFixerFactory()) + .add(Transformer.parameterAnnotationFixerFactory()); + + renamer = renamer .add(Transformer.recordFixerFactory()) .add(Transformer.identifierFixerFactory(IdentifierFixerConfig.ALL)) - .add(Transformer.sourceFixerFactory(SourceFixerConfig.JAVA)) - .build() + .add(Transformer.sourceFixerFactory(SourceFixerConfig.JAVA)); + + renamer.build() .run(stripClientJar.toFile(), mcJarSlim.toFile()); merge(neoformMcJar, rawJar, mcJarSlim, mcVersion);