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.
This commit is contained in:
Juuz
2025-03-04 20:37:02 +02:00
parent 7204a7d4f3
commit c61a6a2956

View File

@@ -318,6 +318,9 @@ public abstract class RemapJarTask extends AbstractRemapJarTask {
Objects.requireNonNull(tinyRemapperService, "tinyRemapperService"); Objects.requireNonNull(tinyRemapperService, "tinyRemapperService");
Objects.requireNonNull(tinyRemapper, "tinyRemapper"); 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()) { try (OutputConsumerPath outputConsumer = new OutputConsumerPath.Builder(outputFile).build()) {
outputConsumer.addNonClassFiles(inputFile); outputConsumer.addNonClassFiles(inputFile);
tinyRemapper.apply(outputConsumer, tinyRemapperService.getOrCreateTag(inputFile)); tinyRemapper.apply(outputConsumer, tinyRemapperService.getOrCreateTag(inputFile));