From 3a354be4d757dcb93c8bf96bd74d50888a3f6e2f Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 20 Jul 2021 17:41:06 +0800 Subject: [PATCH] Don't read the intermediary file immediately Signed-off-by: shedaniel --- .../mappings/intermediary/IntermediaryMappingLayer.java | 5 +++-- .../mappings/intermediary/IntermediaryMappingsSpec.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingLayer.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingLayer.java index 0ca6414f..abfc3685 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingLayer.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingLayer.java @@ -30,6 +30,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.Collections; +import java.util.function.Supplier; import net.fabricmc.loom.configuration.providers.mappings.MappingLayer; import net.fabricmc.loom.configuration.providers.mappings.MappingNamespace; @@ -37,7 +38,7 @@ import net.fabricmc.mappingio.MappingVisitor; import net.fabricmc.mappingio.adapter.MappingNsCompleter; import net.fabricmc.mappingio.format.Tiny2Reader; -public record IntermediaryMappingLayer(File tinyFile) implements MappingLayer { +public record IntermediaryMappingLayer(Supplier tinyFile) implements MappingLayer { @Override public MappingNamespace getSourceNamespace() { return MappingNamespace.OFFICIAL; @@ -48,7 +49,7 @@ public record IntermediaryMappingLayer(File tinyFile) implements MappingLayer { // Populate named with intermediary and add Add a "named" namespace MappingNsCompleter nsCompleter = new MappingNsCompleter(mappingVisitor, Collections.singletonMap(MappingNamespace.NAMED.stringValue(), MappingNamespace.INTERMEDIARY.stringValue()), true); - try (BufferedReader reader = Files.newBufferedReader(tinyFile().toPath(), StandardCharsets.UTF_8)) { + try (BufferedReader reader = Files.newBufferedReader(tinyFile().get().toPath(), StandardCharsets.UTF_8)) { Tiny2Reader.read(reader, nsCompleter); } } diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingsSpec.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingsSpec.java index 866ad9d7..4daf64f5 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingsSpec.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingsSpec.java @@ -30,6 +30,6 @@ import net.fabricmc.loom.configuration.providers.mappings.MappingsSpec; public record IntermediaryMappingsSpec() implements MappingsSpec { @Override public IntermediaryMappingLayer createLayer(MappingContext context) { - return new IntermediaryMappingLayer(context.mappingsProvider().intermediaryTinyFile()); + return new IntermediaryMappingLayer(context.mappingsProvider()::intermediaryTinyFile); } }