diff --git a/src/main/java/babric/mappings/BabricIntermediaryProvider.java b/src/main/java/babric/mappings/BabricIntermediaryProvider.java index cf3a700..1cb4a15 100644 --- a/src/main/java/babric/mappings/BabricIntermediaryProvider.java +++ b/src/main/java/babric/mappings/BabricIntermediaryProvider.java @@ -10,6 +10,8 @@ import org.gradle.api.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.file.Files; @@ -18,6 +20,8 @@ import java.util.Map; public abstract class BabricIntermediaryProvider extends IntermediaryMappingsProvider { + private static final Logger LOGGER = LoggerFactory.getLogger(BabricIntermediaryProvider.class); + @Override public @NotNull String getName() { return "babric-" + super.getName(); @@ -25,6 +29,17 @@ public abstract class BabricIntermediaryProvider extends IntermediaryMappingsPro @Override public void provide(Path tinyMappings, @Nullable Project project) throws IOException { + if (Files.exists(tinyMappings)) { + MemoryMappingTree mappingTree = new MemoryMappingTree(); + + MappingReader.read(tinyMappings, mappingTree); + + if (mappingTree.getDstNamespaces().contains("glue")) { + LOGGER.warn("Found old intermediary format, it will be replaced.\nYou might need to run gradle with --refresh-dependencies to make sure mappings and jars are updated too."); + Files.delete(tinyMappings); + } + } + if (!Files.exists(tinyMappings) || this.getRefreshDeps().get()) { Path intermediaryTempPath = tinyMappings.getParent().resolve(this.getName() + "-temp.tiny"); super.provide(intermediaryTempPath, project);