From 119898df76702b8862081d9f25f585ee4a71e346 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 26 Dec 2023 18:57:21 +0800 Subject: [PATCH] Migrate to Fabric TR --- gradle/libs.versions.toml | 4 ++-- .../loom/api/processor/MappingProcessorContext.java | 3 +-- .../loom/api/processor/ProcessorContext.java | 3 +-- .../loom/api/remapping/TinyRemapperExtension.java | 3 ++- .../accesswidener/AccessWidenerEntry.java | 2 +- .../accesswidener/AccessWidenerJarProcessor.java | 2 +- .../accesswidener/LocalAccessWidenerEntry.java | 2 +- .../accesswidener/ModAccessWidenerEntry.java | 2 +- .../TransitiveAccessWidenerMappingsProcessor.java | 2 +- .../mods/AccessWidenerAnalyzeVisitorProvider.java | 2 +- .../loom/configuration/mods/ModProcessor.java | 12 +++++------- .../configuration/processors/ContextImplHelper.java | 3 +-- .../processors/MappingProcessorContextImpl.java | 3 +-- .../processors/ProcessorContextImpl.java | 2 +- .../providers/forge/MinecraftPatchedProvider.java | 11 ++++------- .../minecraft/SignatureFixerApplyVisitor.java | 4 ++-- .../minecraft/SingleJarMinecraftProvider.java | 7 +++---- .../mapped/AbstractMappedMinecraftProvider.java | 4 ++-- .../mapped/IntermediaryMinecraftProvider.java | 2 +- .../mapped/MojangMappedMinecraftProvider.java | 2 +- .../minecraft/mapped/NamedMinecraftProvider.java | 2 +- .../minecraft/mapped/SrgMinecraftProvider.java | 2 +- .../minecraft/tr/OutputRemappingHandler.java | 5 ++--- .../loom/extension/RemapperExtensionHolder.java | 4 ++-- .../java/net/fabricmc/loom/task/RemapJarTask.java | 4 ++-- .../loom/task/ValidateAccessWidenerTask.java | 4 ++-- .../fabricmc/loom/task/ValidateMixinNameTask.java | 2 +- .../loom/task/service/JarManifestService.java | 2 +- .../fabricmc/loom/task/service/MappingsService.java | 2 +- .../loom/task/service/TinyRemapperService.java | 8 ++++---- .../java/net/fabricmc/loom/util/FileSystemUtil.java | 2 +- .../fabricmc/loom/util/MappingsProviderVerbose.java | 5 ++--- .../net/fabricmc/loom/util/SidedClassVisitor.java | 3 ++- .../net/fabricmc/loom/util/TinyRemapperHelper.java | 7 ++----- .../kotlin/KotlinMetadataTinyRemapperExtension.java | 2 +- .../fabricmc/loom/util/srg/InnerClassRemapper.java | 2 +- .../KotlinMetadataTinyRemapperExtensionImpl.kt | 4 ++-- .../unit/kotlin/KotlinRemapperClassloaderTest.groovy | 6 +++--- ...linClassMetadataRemappingAnnotationVisitorTest.kt | 4 ++-- 39 files changed, 66 insertions(+), 79 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0b33b06ea..f210f97da 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ jackson = "2.16.0" guava = "33.0.0-jre" stitch = "0.6.2" -tiny-remapper = "1.10.23" +tiny-remapper = "0.9.0" access-widener = "2.1.0" mapping-io = "0.5.1" lorenz-tiny = "4.0.2" @@ -44,7 +44,7 @@ jackson = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref guava = { module = "com.google.guava:guava", version.ref = "guava" } fabric-stitch = { module = "net.fabricmc:stitch", version.ref = "stitch" } -fabric-tiny-remapper = { module = "dev.architectury:tiny-remapper", version.ref = "tiny-remapper" } +fabric-tiny-remapper = { module = "net.fabricmc:tiny-remapper", version.ref = "tiny-remapper" } fabric-access-widener = { module = "net.fabricmc:access-widener", version.ref = "access-widener" } fabric-mapping-io = { module = "net.fabricmc:mapping-io", version.ref = "mapping-io" } fabric-lorenz-tiny = { module = "net.fabricmc:lorenz-tiny", version.ref = "lorenz-tiny" } diff --git a/src/main/java/net/fabricmc/loom/api/processor/MappingProcessorContext.java b/src/main/java/net/fabricmc/loom/api/processor/MappingProcessorContext.java index 59803a8f1..ff2d3fcae 100644 --- a/src/main/java/net/fabricmc/loom/api/processor/MappingProcessorContext.java +++ b/src/main/java/net/fabricmc/loom/api/processor/MappingProcessorContext.java @@ -24,10 +24,9 @@ package net.fabricmc.loom.api.processor; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; import net.fabricmc.loom.util.LazyCloseable; +import net.fabricmc.tinyremapper.TinyRemapper; public interface MappingProcessorContext { LazyCloseable createRemapper(MappingsNamespace from, MappingsNamespace to); diff --git a/src/main/java/net/fabricmc/loom/api/processor/ProcessorContext.java b/src/main/java/net/fabricmc/loom/api/processor/ProcessorContext.java index 6d14343ce..282dbf2f5 100644 --- a/src/main/java/net/fabricmc/loom/api/processor/ProcessorContext.java +++ b/src/main/java/net/fabricmc/loom/api/processor/ProcessorContext.java @@ -24,12 +24,11 @@ package net.fabricmc.loom.api.processor; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJarConfiguration; import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.TinyRemapper; public interface ProcessorContext { MinecraftJarConfiguration getJarConfiguration(); diff --git a/src/main/java/net/fabricmc/loom/api/remapping/TinyRemapperExtension.java b/src/main/java/net/fabricmc/loom/api/remapping/TinyRemapperExtension.java index 2d6e6443c..417b77f6f 100644 --- a/src/main/java/net/fabricmc/loom/api/remapping/TinyRemapperExtension.java +++ b/src/main/java/net/fabricmc/loom/api/remapping/TinyRemapperExtension.java @@ -24,10 +24,11 @@ package net.fabricmc.loom.api.remapping; -import dev.architectury.tinyremapper.TinyRemapper; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; +import net.fabricmc.tinyremapper.TinyRemapper; + /** * A remapper extension, that has direct access to the TinyRemapper APIs. * diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerEntry.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerEntry.java index 25afdc240..802b7c85b 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerEntry.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerEntry.java @@ -26,12 +26,12 @@ import java.io.IOException; -import dev.architectury.tinyremapper.TinyRemapper; import org.jetbrains.annotations.Nullable; import net.fabricmc.accesswidener.AccessWidenerVisitor; import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.loom.util.fmj.ModEnvironment; +import net.fabricmc.tinyremapper.TinyRemapper; public interface AccessWidenerEntry { ModEnvironment environment(); diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java index e4f23efa6..212ef9328 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java @@ -35,7 +35,6 @@ import javax.inject.Inject; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.file.RegularFileProperty; import org.jetbrains.annotations.Nullable; @@ -47,6 +46,7 @@ import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.loom.util.fmj.FabricModJson; import net.fabricmc.loom.util.fmj.ModEnvironment; +import net.fabricmc.tinyremapper.TinyRemapper; public class AccessWidenerJarProcessor implements MinecraftJarProcessor { private final String name; diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/LocalAccessWidenerEntry.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/LocalAccessWidenerEntry.java index 6fa44e59e..3d51e3e71 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/LocalAccessWidenerEntry.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/LocalAccessWidenerEntry.java @@ -29,7 +29,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import dev.architectury.tinyremapper.TinyRemapper; import org.jetbrains.annotations.Nullable; import net.fabricmc.accesswidener.AccessWidenerReader; @@ -37,6 +36,7 @@ import net.fabricmc.loom.util.Checksum; import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.loom.util.fmj.ModEnvironment; +import net.fabricmc.tinyremapper.TinyRemapper; public record LocalAccessWidenerEntry(Path path, String hash) implements AccessWidenerEntry { public static LocalAccessWidenerEntry create(Path path) { diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/ModAccessWidenerEntry.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/ModAccessWidenerEntry.java index fe1cf7430..4731422ca 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/ModAccessWidenerEntry.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/ModAccessWidenerEntry.java @@ -30,7 +30,6 @@ import java.util.List; import java.util.Map; -import dev.architectury.tinyremapper.TinyRemapper; import org.jetbrains.annotations.Nullable; import net.fabricmc.accesswidener.AccessWidenerReader; @@ -41,6 +40,7 @@ import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.loom.util.fmj.FabricModJson; import net.fabricmc.loom.util.fmj.ModEnvironment; +import net.fabricmc.tinyremapper.TinyRemapper; /** * {@link AccessWidenerEntry} implementation for a {@link FabricModJson}. diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/TransitiveAccessWidenerMappingsProcessor.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/TransitiveAccessWidenerMappingsProcessor.java index c66258330..e7197b7b9 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/TransitiveAccessWidenerMappingsProcessor.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/TransitiveAccessWidenerMappingsProcessor.java @@ -28,7 +28,6 @@ import java.io.UncheckedIOException; import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +39,7 @@ import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.mappingio.tree.MappingTree; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.TinyRemapper; public final class TransitiveAccessWidenerMappingsProcessor implements MinecraftJarProcessor.MappingsProcessor { public static final TransitiveAccessWidenerMappingsProcessor INSTANCE = new TransitiveAccessWidenerMappingsProcessor(); diff --git a/src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerAnalyzeVisitorProvider.java b/src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerAnalyzeVisitorProvider.java index 55503d74c..623672c20 100644 --- a/src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerAnalyzeVisitorProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerAnalyzeVisitorProvider.java @@ -27,7 +27,6 @@ import java.io.IOException; import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.objectweb.asm.ClassVisitor; import net.fabricmc.accesswidener.AccessWidener; @@ -36,6 +35,7 @@ import net.fabricmc.loom.configuration.mods.dependency.ModDependency; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.ModPlatform; +import net.fabricmc.tinyremapper.TinyRemapper; public record AccessWidenerAnalyzeVisitorProvider(AccessWidener accessWidener) implements TinyRemapper.AnalyzeVisitorProvider { static AccessWidenerAnalyzeVisitorProvider createFromMods(String namespace, List mods, ModPlatform platform) throws IOException { diff --git a/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java b/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java index 8ec14f158..8f6685933 100644 --- a/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java +++ b/src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java @@ -44,11 +44,6 @@ import com.google.common.base.Stopwatch; import com.google.gson.JsonObject; import dev.architectury.loom.util.MappingOption; -import dev.architectury.tinyremapper.InputTag; -import dev.architectury.tinyremapper.NonClassCopyMode; -import dev.architectury.tinyremapper.OutputConsumerPath; -import dev.architectury.tinyremapper.TinyRemapper; -import dev.architectury.tinyremapper.extension.mixin.MixinExtension; import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; import org.gradle.api.attributes.Usage; @@ -72,6 +67,11 @@ import net.fabricmc.loom.util.srg.AtRemapper; import net.fabricmc.loom.util.srg.CoreModClassRemapper; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.InputTag; +import net.fabricmc.tinyremapper.NonClassCopyMode; +import net.fabricmc.tinyremapper.OutputConsumerPath; +import net.fabricmc.tinyremapper.TinyRemapper; +import net.fabricmc.tinyremapper.extension.mixin.MixinExtension; public class ModProcessor { private static final String toM = MappingsNamespace.NAMED.toString(); @@ -176,8 +176,6 @@ private void remapJars(List remapList) throws IOException { TinyRemapper.Builder builder = TinyRemapper.newRemapper() .withKnownIndyBsm(extension.getKnownIndyBsms().get()) .withMappings(TinyRemapperHelper.create(mappings, fromM, toM, false)) - .logger(project.getLogger()::lifecycle) - .logUnknownInvokeDynamic(false) .renameInvalidLocals(false) .extraAnalyzeVisitor(AccessWidenerAnalyzeVisitorProvider.createFromMods(fromM, remapList, extension.getPlatform().get())); diff --git a/src/main/java/net/fabricmc/loom/configuration/processors/ContextImplHelper.java b/src/main/java/net/fabricmc/loom/configuration/processors/ContextImplHelper.java index f413475ab..283f2cc76 100644 --- a/src/main/java/net/fabricmc/loom/configuration/processors/ContextImplHelper.java +++ b/src/main/java/net/fabricmc/loom/configuration/processors/ContextImplHelper.java @@ -28,12 +28,11 @@ import java.io.UncheckedIOException; import java.nio.file.Path; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; import net.fabricmc.loom.configuration.ConfigContext; import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.loom.util.TinyRemapperHelper; +import net.fabricmc.tinyremapper.TinyRemapper; public final class ContextImplHelper { private ContextImplHelper() { diff --git a/src/main/java/net/fabricmc/loom/configuration/processors/MappingProcessorContextImpl.java b/src/main/java/net/fabricmc/loom/configuration/processors/MappingProcessorContextImpl.java index 12b4d16a2..6a1ba3a56 100644 --- a/src/main/java/net/fabricmc/loom/configuration/processors/MappingProcessorContextImpl.java +++ b/src/main/java/net/fabricmc/loom/configuration/processors/MappingProcessorContextImpl.java @@ -24,12 +24,11 @@ package net.fabricmc.loom.configuration.processors; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; import net.fabricmc.loom.api.processor.MappingProcessorContext; import net.fabricmc.loom.configuration.ConfigContext; import net.fabricmc.loom.util.LazyCloseable; +import net.fabricmc.tinyremapper.TinyRemapper; public record MappingProcessorContextImpl(ConfigContext configContext) implements MappingProcessorContext { @Override diff --git a/src/main/java/net/fabricmc/loom/configuration/processors/ProcessorContextImpl.java b/src/main/java/net/fabricmc/loom/configuration/processors/ProcessorContextImpl.java index 20f0d16e1..689b10aaa 100644 --- a/src/main/java/net/fabricmc/loom/configuration/processors/ProcessorContextImpl.java +++ b/src/main/java/net/fabricmc/loom/configuration/processors/ProcessorContextImpl.java @@ -25,7 +25,6 @@ package net.fabricmc.loom.configuration.processors; import dev.architectury.loom.util.MappingOption; -import dev.architectury.tinyremapper.TinyRemapper; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; @@ -35,6 +34,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJarConfiguration; import net.fabricmc.loom.util.LazyCloseable; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.TinyRemapper; public record ProcessorContextImpl(ConfigContext configContext, MinecraftJar minecraftJar) implements ProcessorContext { @Override diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java index dd98822bc..0e776ffaa 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java @@ -55,10 +55,6 @@ import dev.architectury.loom.forge.UserdevConfig; import dev.architectury.loom.util.MappingOption; import dev.architectury.loom.util.TempFiles; -import dev.architectury.tinyremapper.InputTag; -import dev.architectury.tinyremapper.NonClassCopyMode; -import dev.architectury.tinyremapper.OutputConsumerPath; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import org.gradle.api.logging.LogLevel; import org.gradle.api.logging.Logger; @@ -93,6 +89,10 @@ import net.fabricmc.loom.util.srg.InnerClassRemapper; import net.fabricmc.mappingio.tree.MappingTree; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.InputTag; +import net.fabricmc.tinyremapper.NonClassCopyMode; +import net.fabricmc.tinyremapper.OutputConsumerPath; +import net.fabricmc.tinyremapper.TinyRemapper; public class MinecraftPatchedProvider { private static final String LOOM_PATCH_VERSION_KEY = "Loom-Patch-Version"; @@ -232,8 +232,6 @@ private TinyRemapper buildRemapper(SharedServiceManager serviceManager, Path inp MemoryMappingTree mappings = mappingsService.getMappingTree(); TinyRemapper remapper = TinyRemapper.newRemapper() - .logger(logger::lifecycle) - .logUnknownInvokeDynamic(false) .withMappings(TinyRemapperHelper.create(mappings, sourceNamespace, "official", true)) .withMappings(InnerClassRemapper.of(InnerClassRemapper.readClassNames(input), mappings, sourceNamespace, "official")) .renameInvalidLocals(true) @@ -244,7 +242,6 @@ private TinyRemapper buildRemapper(SharedServiceManager serviceManager, Path inp MappingsProviderVerbose.saveFile(remapper); } - remapper.prepareClasses(); return remapper; } diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SignatureFixerApplyVisitor.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SignatureFixerApplyVisitor.java index b5c079ebd..7094dbf0c 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SignatureFixerApplyVisitor.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SignatureFixerApplyVisitor.java @@ -29,8 +29,6 @@ import java.util.HashMap; import java.util.Map; -import dev.architectury.tinyremapper.TinyRemapper; -import dev.architectury.tinyremapper.api.TrClass; import org.gradle.api.Project; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.commons.Remapper; @@ -40,6 +38,8 @@ import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.TinyRemapperHelper; import net.fabricmc.loom.util.service.SharedServiceManager; +import net.fabricmc.tinyremapper.TinyRemapper; +import net.fabricmc.tinyremapper.api.TrClass; public record SignatureFixerApplyVisitor(Map signatureFixes) implements TinyRemapper.ApplyVisitorProvider { @Override diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java index 4be295e66..944112259 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java @@ -28,12 +28,11 @@ import java.nio.file.Path; import java.util.List; -import dev.architectury.tinyremapper.NonClassCopyMode; -import dev.architectury.tinyremapper.OutputConsumerPath; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.configuration.ConfigContext; import net.fabricmc.loom.configuration.providers.BundleMetadata; +import net.fabricmc.tinyremapper.NonClassCopyMode; +import net.fabricmc.tinyremapper.OutputConsumerPath; +import net.fabricmc.tinyremapper.TinyRemapper; public class SingleJarMinecraftProvider extends MinecraftProvider { private final Environment environment; diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java index 98663b83e..1e171f56b 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java @@ -37,8 +37,6 @@ import java.util.function.Function; import dev.architectury.loom.util.MappingOption; -import dev.architectury.tinyremapper.OutputConsumerPath; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.LoomGradleExtension; @@ -61,6 +59,8 @@ import net.fabricmc.loom.util.srg.InnerClassRemapper; import net.fabricmc.loom.util.srg.RemapObjectHolderVisitor; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.OutputConsumerPath; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract class AbstractMappedMinecraftProvider implements MappedMinecraftProvider.ProviderImpl { protected final M minecraftProvider; diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/IntermediaryMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/IntermediaryMinecraftProvider.java index 0adb863bd..aefed08be 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/IntermediaryMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/IntermediaryMinecraftProvider.java @@ -26,7 +26,6 @@ import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; @@ -35,6 +34,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.SingleJarEnvType; import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider; import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract sealed class IntermediaryMinecraftProvider extends AbstractMappedMinecraftProvider permits IntermediaryMinecraftProvider.MergedImpl, IntermediaryMinecraftProvider.SingleJarImpl, IntermediaryMinecraftProvider.SplitImpl { public IntermediaryMinecraftProvider(Project project, M minecraftProvider) { diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/MojangMappedMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/MojangMappedMinecraftProvider.java index 8e9e3bd22..07e91db4a 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/MojangMappedMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/MojangMappedMinecraftProvider.java @@ -26,7 +26,6 @@ import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; @@ -36,6 +35,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider; import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider; import net.fabricmc.loom.util.SidedClassVisitor; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract sealed class MojangMappedMinecraftProvider extends AbstractMappedMinecraftProvider permits MojangMappedMinecraftProvider.MergedImpl, MojangMappedMinecraftProvider.SingleJarImpl, MojangMappedMinecraftProvider.SplitImpl { public MojangMappedMinecraftProvider(Project project, M minecraftProvider) { diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/NamedMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/NamedMinecraftProvider.java index 4586f5e62..1bfdbe72e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/NamedMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/NamedMinecraftProvider.java @@ -26,7 +26,6 @@ import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; @@ -36,6 +35,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.SingleJarEnvType; import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider; import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract class NamedMinecraftProvider extends AbstractMappedMinecraftProvider { public NamedMinecraftProvider(Project project, M minecraftProvider) { diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/SrgMinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/SrgMinecraftProvider.java index 67314a7d4..d88e5fb7e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/SrgMinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/SrgMinecraftProvider.java @@ -26,7 +26,6 @@ import java.util.List; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; @@ -36,6 +35,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider; import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider; import net.fabricmc.loom.util.SidedClassVisitor; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract sealed class SrgMinecraftProvider extends AbstractMappedMinecraftProvider permits SrgMinecraftProvider.MergedImpl, SrgMinecraftProvider.SingleJarImpl, SrgMinecraftProvider.SplitImpl { public SrgMinecraftProvider(Project project, M minecraftProvider) { diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/tr/OutputRemappingHandler.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/tr/OutputRemappingHandler.java index 5e2aa6a98..d095fb6b1 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/tr/OutputRemappingHandler.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/tr/OutputRemappingHandler.java @@ -32,11 +32,10 @@ import java.nio.file.StandardOpenOption; import java.util.function.BiConsumer; -import dev.architectury.tinyremapper.InputTag; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.loom.util.FileSystemUtil; import net.fabricmc.loom.util.ThreadingUtils; +import net.fabricmc.tinyremapper.InputTag; +import net.fabricmc.tinyremapper.TinyRemapper; public class OutputRemappingHandler { public static void remap(TinyRemapper remapper, Path assets, Path output) throws IOException { diff --git a/src/main/java/net/fabricmc/loom/extension/RemapperExtensionHolder.java b/src/main/java/net/fabricmc/loom/extension/RemapperExtensionHolder.java index b43a37fac..454e75ec9 100644 --- a/src/main/java/net/fabricmc/loom/extension/RemapperExtensionHolder.java +++ b/src/main/java/net/fabricmc/loom/extension/RemapperExtensionHolder.java @@ -26,8 +26,6 @@ import javax.inject.Inject; -import dev.architectury.tinyremapper.TinyRemapper; -import dev.architectury.tinyremapper.api.TrClass; import org.gradle.api.model.ObjectFactory; import org.gradle.api.provider.Property; import org.gradle.api.tasks.Input; @@ -41,6 +39,8 @@ import net.fabricmc.loom.api.remapping.RemapperExtension; import net.fabricmc.loom.api.remapping.RemapperParameters; import net.fabricmc.loom.api.remapping.TinyRemapperExtension; +import net.fabricmc.tinyremapper.TinyRemapper; +import net.fabricmc.tinyremapper.api.TrClass; public abstract class RemapperExtensionHolder { // Null when RemapperParameters.None.class diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index acdf87a70..8cde7c042 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -44,8 +44,6 @@ import com.google.gson.JsonObject; import dev.architectury.loom.extensions.ModBuildExtensions; -import dev.architectury.tinyremapper.OutputConsumerPath; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.artifacts.Configuration; import org.gradle.api.file.ConfigurableFileCollection; import org.gradle.api.file.FileCollection; @@ -89,6 +87,8 @@ import net.fabricmc.loom.util.fmj.FabricModJsonFactory; import net.fabricmc.loom.util.service.BuildSharedServiceManager; import net.fabricmc.loom.util.service.UnsafeWorkQueueHelper; +import net.fabricmc.tinyremapper.OutputConsumerPath; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract class RemapJarTask extends AbstractRemapJarTask { @InputFiles diff --git a/src/main/java/net/fabricmc/loom/task/ValidateAccessWidenerTask.java b/src/main/java/net/fabricmc/loom/task/ValidateAccessWidenerTask.java index 76717e166..9b4f3c590 100644 --- a/src/main/java/net/fabricmc/loom/task/ValidateAccessWidenerTask.java +++ b/src/main/java/net/fabricmc/loom/task/ValidateAccessWidenerTask.java @@ -33,8 +33,6 @@ import javax.inject.Inject; -import dev.architectury.tinyremapper.TinyRemapper; -import dev.architectury.tinyremapper.api.TrEnvironment; import org.gradle.api.DefaultTask; import org.gradle.api.file.ConfigurableFileCollection; import org.gradle.api.file.RegularFileProperty; @@ -48,6 +46,8 @@ import net.fabricmc.accesswidener.AccessWidenerVisitor; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.api.mappings.layered.MappingsNamespace; +import net.fabricmc.tinyremapper.TinyRemapper; +import net.fabricmc.tinyremapper.api.TrEnvironment; public abstract class ValidateAccessWidenerTask extends DefaultTask { @SkipWhenEmpty diff --git a/src/main/java/net/fabricmc/loom/task/ValidateMixinNameTask.java b/src/main/java/net/fabricmc/loom/task/ValidateMixinNameTask.java index b37e00282..8093e04bb 100644 --- a/src/main/java/net/fabricmc/loom/task/ValidateMixinNameTask.java +++ b/src/main/java/net/fabricmc/loom/task/ValidateMixinNameTask.java @@ -37,7 +37,6 @@ import javax.inject.Inject; -import dev.architectury.tinyremapper.extension.mixin.common.data.Constant; import org.gradle.api.GradleException; import org.gradle.api.file.ConfigurableFileCollection; import org.gradle.api.provider.Property; @@ -60,6 +59,7 @@ import org.slf4j.LoggerFactory; import net.fabricmc.loom.util.Constants; +import net.fabricmc.tinyremapper.extension.mixin.common.data.Constant; /** * Task to validate mixin names. diff --git a/src/main/java/net/fabricmc/loom/task/service/JarManifestService.java b/src/main/java/net/fabricmc/loom/task/service/JarManifestService.java index 55667ab1a..3cd2c0e82 100644 --- a/src/main/java/net/fabricmc/loom/task/service/JarManifestService.java +++ b/src/main/java/net/fabricmc/loom/task/service/JarManifestService.java @@ -30,7 +30,6 @@ import java.util.jar.Attributes; import java.util.jar.Manifest; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import org.gradle.api.artifacts.Dependency; import org.gradle.api.provider.Property; @@ -44,6 +43,7 @@ import net.fabricmc.loom.configuration.InstallerData; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.LoomVersions; +import net.fabricmc.tinyremapper.TinyRemapper; public abstract class JarManifestService implements BuildService { interface Params extends BuildServiceParameters { diff --git a/src/main/java/net/fabricmc/loom/task/service/MappingsService.java b/src/main/java/net/fabricmc/loom/task/service/MappingsService.java index 7f8e61238..4954507eb 100644 --- a/src/main/java/net/fabricmc/loom/task/service/MappingsService.java +++ b/src/main/java/net/fabricmc/loom/task/service/MappingsService.java @@ -28,7 +28,6 @@ import java.io.UncheckedIOException; import java.nio.file.Path; -import dev.architectury.tinyremapper.IMappingProvider; import org.gradle.api.Project; import net.fabricmc.loom.LoomGradleExtension; @@ -38,6 +37,7 @@ import net.fabricmc.loom.util.service.SharedServiceManager; import net.fabricmc.mappingio.MappingReader; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.IMappingProvider; public final class MappingsService implements SharedService { private record Options(Path mappingsFile, String from, String to, boolean remapLocals) { } diff --git a/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java b/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java index 2776256cc..ccd0763c9 100644 --- a/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java +++ b/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java @@ -37,9 +37,6 @@ import java.util.Set; import java.util.StringJoiner; -import dev.architectury.tinyremapper.IMappingProvider; -import dev.architectury.tinyremapper.InputTag; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import org.gradle.api.invocation.Gradle; import org.gradle.api.model.ObjectFactory; @@ -58,6 +55,9 @@ import net.fabricmc.loom.util.kotlin.KotlinRemapperClassloader; import net.fabricmc.loom.util.service.SharedService; import net.fabricmc.loom.util.service.SharedServiceManager; +import net.fabricmc.tinyremapper.IMappingProvider; +import net.fabricmc.tinyremapper.InputTag; +import net.fabricmc.tinyremapper.TinyRemapper; public class TinyRemapperService implements SharedService { public static synchronized TinyRemapperService getOrCreate(SharedServiceManager serviceManager, AbstractRemapJarTask remapJarTask) { @@ -145,7 +145,7 @@ private TinyRemapperService(List mappings, boolean useMixinExt } if (useMixinExtension) { - builder.extension(new dev.architectury.tinyremapper.extension.mixin.MixinExtension()); + builder.extension(new net.fabricmc.tinyremapper.extension.mixin.MixinExtension()); } if (kotlinClasspath != null) { diff --git a/src/main/java/net/fabricmc/loom/util/FileSystemUtil.java b/src/main/java/net/fabricmc/loom/util/FileSystemUtil.java index 39b563362..0a097c831 100644 --- a/src/main/java/net/fabricmc/loom/util/FileSystemUtil.java +++ b/src/main/java/net/fabricmc/loom/util/FileSystemUtil.java @@ -35,7 +35,7 @@ import java.nio.file.Path; import java.util.function.Supplier; -import dev.architectury.tinyremapper.FileSystemReference; +import net.fabricmc.tinyremapper.FileSystemReference; public final class FileSystemUtil { public record Delegate(FileSystemReference reference) implements AutoCloseable, Supplier { diff --git a/src/main/java/net/fabricmc/loom/util/MappingsProviderVerbose.java b/src/main/java/net/fabricmc/loom/util/MappingsProviderVerbose.java index 2e967dcf7..aab49a466 100644 --- a/src/main/java/net/fabricmc/loom/util/MappingsProviderVerbose.java +++ b/src/main/java/net/fabricmc/loom/util/MappingsProviderVerbose.java @@ -35,12 +35,11 @@ import java.util.Collections; import java.util.Set; -import dev.architectury.tinyremapper.IMappingProvider; -import dev.architectury.tinyremapper.TinyRemapper; - import net.fabricmc.mappingio.adapter.RegularAsFlatMappingVisitor; import net.fabricmc.mappingio.format.tiny.Tiny2FileWriter; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.IMappingProvider; +import net.fabricmc.tinyremapper.TinyRemapper; public class MappingsProviderVerbose { public static void saveFile(TinyRemapper providers) throws IOException { diff --git a/src/main/java/net/fabricmc/loom/util/SidedClassVisitor.java b/src/main/java/net/fabricmc/loom/util/SidedClassVisitor.java index 44c190c57..5d2f7c6a7 100644 --- a/src/main/java/net/fabricmc/loom/util/SidedClassVisitor.java +++ b/src/main/java/net/fabricmc/loom/util/SidedClassVisitor.java @@ -26,10 +26,11 @@ import java.util.Locale; -import dev.architectury.tinyremapper.TinyRemapper; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassVisitor; +import net.fabricmc.tinyremapper.TinyRemapper; + /** * Applies the @Environment annotation to all classes. */ diff --git a/src/main/java/net/fabricmc/loom/util/TinyRemapperHelper.java b/src/main/java/net/fabricmc/loom/util/TinyRemapperHelper.java index 08227b10a..b88da0ebb 100644 --- a/src/main/java/net/fabricmc/loom/util/TinyRemapperHelper.java +++ b/src/main/java/net/fabricmc/loom/util/TinyRemapperHelper.java @@ -33,8 +33,6 @@ import com.google.common.collect.ImmutableMap; import dev.architectury.loom.util.MappingOption; -import dev.architectury.tinyremapper.IMappingProvider; -import dev.architectury.tinyremapper.TinyRemapper; import org.gradle.api.Project; import net.fabricmc.loom.LoomGradleExtension; @@ -45,6 +43,8 @@ import net.fabricmc.mappingio.tree.MappingTree; import net.fabricmc.mappingio.tree.MappingTreeView; import net.fabricmc.mappingio.tree.MemoryMappingTree; +import net.fabricmc.tinyremapper.IMappingProvider; +import net.fabricmc.tinyremapper.TinyRemapper; /** * Contains shortcuts to create tiny remappers using the mappings accessibly to the project. @@ -80,11 +80,8 @@ public static TinyRemapper getTinyRemapper(Project project, SharedServiceManager int intermediaryNsId = mappingTree.getNamespaceId(MappingsNamespace.INTERMEDIARY.toString()); TinyRemapper.Builder builder = TinyRemapper.newRemapper() - .logUnknownInvokeDynamic(false) .ignoreConflicts(extension.isForgeLike()) - .cacheMappings(true) .threads(Runtime.getRuntime().availableProcessors()) - .logger(project.getLogger()::lifecycle) .withMappings(create(mappingTree, fromM, toM, true)) .renameInvalidLocals(true) .rebuildSourceFilenames(true) diff --git a/src/main/java/net/fabricmc/loom/util/kotlin/KotlinMetadataTinyRemapperExtension.java b/src/main/java/net/fabricmc/loom/util/kotlin/KotlinMetadataTinyRemapperExtension.java index b304c7c14..1e13a3509 100644 --- a/src/main/java/net/fabricmc/loom/util/kotlin/KotlinMetadataTinyRemapperExtension.java +++ b/src/main/java/net/fabricmc/loom/util/kotlin/KotlinMetadataTinyRemapperExtension.java @@ -24,7 +24,7 @@ package net.fabricmc.loom.util.kotlin; -import dev.architectury.tinyremapper.TinyRemapper; +import net.fabricmc.tinyremapper.TinyRemapper; public interface KotlinMetadataTinyRemapperExtension extends TinyRemapper.ApplyVisitorProvider, TinyRemapper.Extension { } diff --git a/src/main/java/net/fabricmc/loom/util/srg/InnerClassRemapper.java b/src/main/java/net/fabricmc/loom/util/srg/InnerClassRemapper.java index e769c2f46..bd3a491d9 100644 --- a/src/main/java/net/fabricmc/loom/util/srg/InnerClassRemapper.java +++ b/src/main/java/net/fabricmc/loom/util/srg/InnerClassRemapper.java @@ -35,10 +35,10 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; -import dev.architectury.tinyremapper.IMappingProvider; import net.fabricmc.loom.util.FileSystemUtil; import net.fabricmc.mappingio.tree.MappingTree; +import net.fabricmc.tinyremapper.IMappingProvider; public class InnerClassRemapper { public static IMappingProvider of(Set fromClassNames, MappingTree mappingsWithSrg, String from, String to) throws IOException { diff --git a/src/main/kotlin/net/fabricmc/loom/kotlin/remapping/KotlinMetadataTinyRemapperExtensionImpl.kt b/src/main/kotlin/net/fabricmc/loom/kotlin/remapping/KotlinMetadataTinyRemapperExtensionImpl.kt index 5ab3c6e7b..5ba167563 100644 --- a/src/main/kotlin/net/fabricmc/loom/kotlin/remapping/KotlinMetadataTinyRemapperExtensionImpl.kt +++ b/src/main/kotlin/net/fabricmc/loom/kotlin/remapping/KotlinMetadataTinyRemapperExtensionImpl.kt @@ -24,9 +24,9 @@ package net.fabricmc.loom.kotlin.remapping -import dev.architectury.tinyremapper.TinyRemapper -import dev.architectury.tinyremapper.api.TrClass import net.fabricmc.loom.util.kotlin.KotlinMetadataTinyRemapperExtension +import net.fabricmc.tinyremapper.TinyRemapper +import net.fabricmc.tinyremapper.api.TrClass import org.objectweb.asm.ClassVisitor object KotlinMetadataTinyRemapperExtensionImpl : KotlinMetadataTinyRemapperExtension { diff --git a/src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy index d302152be..98b4042a7 100644 --- a/src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy @@ -25,9 +25,6 @@ package net.fabricmc.loom.test.unit.kotlin import kotlin.KotlinVersion -import dev.architectury.tinyremapper.api.TrClass -import dev.architectury.tinyremapper.api.TrEnvironment -import dev.architectury.tinyremapper.api.TrRemapper import org.objectweb.asm.ClassReader import org.objectweb.asm.tree.ClassNode import spock.lang.Specification @@ -35,6 +32,9 @@ import spock.lang.Specification import net.fabricmc.loom.util.kotlin.KotlinClasspath import net.fabricmc.loom.util.kotlin.KotlinPluginUtils import net.fabricmc.loom.util.kotlin.KotlinRemapperClassloader +import net.fabricmc.tinyremapper.api.TrClass +import net.fabricmc.tinyremapper.api.TrEnvironment +import net.fabricmc.tinyremapper.api.TrRemapper class KotlinRemapperClassloaderTest extends Specification { private static String KOTLIN_VERSION = KotlinVersion.CURRENT.toString() diff --git a/src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt b/src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt index c07261e5e..7c862b662 100644 --- a/src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt +++ b/src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt @@ -24,12 +24,12 @@ package net.fabricmc.loom.test.kotlin -import dev.architectury.tinyremapper.IMappingProvider -import dev.architectury.tinyremapper.TinyRemapper import net.fabricmc.loom.kotlin.remapping.KotlinMetadataRemappingClassVisitor import net.fabricmc.loom.util.TinyRemapperHelper import net.fabricmc.mappingio.MappingReader import net.fabricmc.mappingio.tree.MemoryMappingTree +import net.fabricmc.tinyremapper.IMappingProvider +import net.fabricmc.tinyremapper.TinyRemapper import org.junit.jupiter.api.Test import org.objectweb.asm.ClassReader import org.objectweb.asm.ClassVisitor