From c61a6a2956ed98c194cd92a6ec6468d137e8d327 Mon Sep 17 00:00:00 2001 From: Juuz <6596629+Juuxel@users.noreply.github.com> Date: Tue, 4 Mar 2025 20:37:02 +0200 Subject: [PATCH] RemapJarTask: Delete output if it exists to prevent ghost files Fixes FabricMC#1270. This changed isn't necessary for RemapSourcesJarTask as SourceRemapperService already deletes the output. --- src/main/java/net/fabricmc/loom/task/RemapJarTask.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index b8dd8c5a..ae919354 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -318,6 +318,9 @@ public abstract class RemapJarTask extends AbstractRemapJarTask { Objects.requireNonNull(tinyRemapperService, "tinyRemapperService"); Objects.requireNonNull(tinyRemapper, "tinyRemapper"); + // Delete the old file to prevent deleted contents from sticking around in the jar. + Files.deleteIfExists(outputFile); + try (OutputConsumerPath outputConsumer = new OutputConsumerPath.Builder(outputFile).build()) { outputConsumer.addNonClassFiles(inputFile); tinyRemapper.apply(outputConsumer, tinyRemapperService.getOrCreateTag(inputFile));