Skip to content

Commit 5728470

Browse files
committed
Provide our own logger implementation to TR
1 parent 1e0839e commit 5728470

5 files changed

Lines changed: 86 additions & 18 deletions

File tree

src/main/java/io/github/fabriccompatibiltylayers/modremappingapi/impl/remapper/ModTrRemapper.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.github.fabriccompatibiltylayers.modremappingapi.impl.context.ModRemapperContext;
55
import io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingTreeHelper;
66
import io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingsRegistry;
7+
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.logger.RemapperLogger;
78
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.minecraft.MinecraftRemapper;
89
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.resource.RefmapRemapper;
910
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.visitor.MixinPostApplyVisitor;
@@ -17,6 +18,7 @@
1718
import net.fabricmc.tinyremapper.OutputConsumerPath;
1819
import net.fabricmc.tinyremapper.TinyRemapper;
1920
import net.fabricmc.tinyremapper.extension.mixin.MixinExtension;
21+
import net.legacyfabric.fabric.api.logger.v1.Logger;
2022
import org.jetbrains.annotations.ApiStatus;
2123
import org.jetbrains.annotations.Nullable;
2224
import org.objectweb.asm.commons.Remapper;
@@ -31,13 +33,15 @@
3133

3234
@ApiStatus.Internal
3335
public class ModTrRemapper {
36+
private static final Logger LOGGER = Logger.get("ModRemappingAPI", "ModRemapper");
37+
3438
public static TinyRemapper makeRemapper(ModRemapperContext context) {
3539
MappingsRegistry mappingsRegistry = context.getMappingsRegistry();
3640

3741
List<MappingTree> trees = mappingsRegistry.getRemappingMappings();
3842

3943
TinyRemapper.Builder builder = TinyRemapper
40-
.newRemapper()
44+
.newRemapper(new RemapperLogger(LOGGER))
4145
.renameInvalidLocals(true)
4246
.ignoreFieldDesc(false)
4347
.propagatePrivate(true)

src/main/java/io/github/fabriccompatibiltylayers/modremappingapi/impl/remapper/SoftLockFixer.java

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public static void preloadClasses() {
4141
"java.util.regex.Pattern",
4242
"java.util.stream.Collectors",
4343
"java.util.zip.ZipError",
44+
"java.util.function.Consumer",
4445

4546
"org.objectweb.asm.ClassReader",
4647
"org.objectweb.asm.ClassVisitor",
@@ -51,6 +52,16 @@ public static void preloadClasses() {
5152
"org.objectweb.asm.commons.Remapper",
5253
"org.objectweb.asm.util.CheckClassAdapter",
5354

55+
"net.fabricmc.loader.impl.launch.FabricLauncher",
56+
"net.fabricmc.loader.impl.launch.FabricLauncherBase",
57+
"net.fabricmc.loader.api.ObjectShare",
58+
"net.fabricmc.loader.impl.util.log.LogCategory",
59+
"net.fabricmc.loader.impl.util.log.Log",
60+
"net.fabricmc.loader.impl.util.log.LogLevel",
61+
62+
"net.legacyfabric.fabric.api.logger.v1.Logger",
63+
"net.legacyfabric.fabric.impl.logger.LoggerImpl",
64+
5465
"fr.catcore.modremapperapi.api.RemapLibrary",
5566
"fr.catcore.modremapperapi.api.ModRemapper",
5667
"fr.catcore.modremapperapi.utils.BArrayList",
@@ -69,20 +80,25 @@ public static void preloadClasses() {
6980
"fr.catcore.modremapperapi.remapping.VisitorInfos$MethodValue",
7081
"fr.catcore.modremapperapi.remapping.VisitorInfos$Type",
7182
"io.github.fabriccompatibiltylayers.modremappingapi.impl.DefaultModRemapper",
72-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.resource.RefmapJson",
73-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.visitor.MixinPostApplyVisitor",
74-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.asm.MRAClassVisitor",
75-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.asm.MRAMethodVisitor",
76-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.visitor.MRAApplyVisitor",
77-
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.resource.RefmapRemapper",
83+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.context.BaseModRemapperContext",
84+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.context.MappingsRegistryInstance",
85+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.context.ModRemapperContext",
86+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.context.v1.ModRemapperV1Context",
87+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.context.v1.V1ModDiscoverer",
88+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.discover.BaseModDiscoverer",
7889
"io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingsRegistry",
7990
"io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingTreeHelper",
8091
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.ModTrRemapper",
92+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.RemappingFlags",
8193
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.TrRemapperHelper",
82-
83-
"net.fabricmc.loader.impl.launch.FabricLauncher",
84-
"net.fabricmc.loader.impl.launch.FabricLauncherBase",
85-
"net.fabricmc.loader.api.ObjectShare",
94+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.asm.MRAClassVisitor",
95+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.asm.MRAMethodVisitor",
96+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.logger.RemapperLogger",
97+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.minecraft.MinecraftRemapper",
98+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.resource.RefmapJson",
99+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.resource.RefmapRemapper",
100+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.visitor.MixinPostApplyVisitor",
101+
"io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.visitor.MRAApplyVisitor",
86102

87103
getLibClassName("tinyremapper", "AsmClassRemapper"),
88104
getLibClassName("tinyremapper", "AsmClassRemapper$AsmAnnotationRemapper"),
@@ -218,7 +234,24 @@ public static void preloadClasses() {
218234
getLibClassName("mappingio", "MappingUtil"),
219235
getLibClassName("mappingio", "MappingVisitor"),
220236
getLibClassName("mappingio", "MappingWriter"),
221-
getLibClassName("mappingio", "MappingWriter$1")
237+
getLibClassName("mappingio", "MappingWriter$1"),
238+
239+
getLibClassName("accesswidener", "AccessWidener"),
240+
getLibClassName("accesswidener", "AccessWidener$Access"),
241+
getLibClassName("accesswidener", "AccessWidener$AccessOperator"),
242+
getLibClassName("accesswidener", "AccessWidener$ClassAccess"),
243+
getLibClassName("accesswidener", "AccessWidener$FieldAccess"),
244+
getLibClassName("accesswidener", "AccessWidener$MethodAccess"),
245+
getLibClassName("accesswidener", "AccessWidenerFormatException"),
246+
getLibClassName("accesswidener", "AccessWidenerReader"),
247+
getLibClassName("accesswidener", "AccessWidenerReader$AccessType"),
248+
getLibClassName("accesswidener", "AccessWidenerReader$Header"),
249+
getLibClassName("accesswidener", "AccessWidenerRemapper"),
250+
getLibClassName("accesswidener", "AccessWidenerVisitor"),
251+
getLibClassName("accesswidener", "AccessWidenerWriter"),
252+
getLibClassName("accesswidener", "EntryTriple"),
253+
getLibClassName("accesswidener", "ForwardingVisitor"),
254+
getLibClassName("accesswidener", "TransitiveOnlyFilter"),
222255
}) {
223256
try {
224257
Constants.MAIN_LOGGER.debug("Preloading class: " + clazz);

src/main/java/io/github/fabriccompatibiltylayers/modremappingapi/impl/remapper/TrRemapperHelper.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@
1717

1818
@ApiStatus.Internal
1919
public class TrRemapperHelper {
20-
public static void applyRemapper(TinyRemapper remapper, Map<Path, Path> paths, List<OutputConsumerPath> outputConsumerPaths, List<OutputConsumerPath.ResourceRemapper> resourceRemappers, boolean analyzeMapping, String srcNamespace, String targetNamespace) {
21-
applyRemapper(remapper, paths, outputConsumerPaths, resourceRemappers, analyzeMapping, srcNamespace, targetNamespace, null);
22-
}
23-
2420
public static void applyRemapper(TinyRemapper remapper, Map<Path, Path> paths, List<OutputConsumerPath> outputConsumerPaths, List<OutputConsumerPath.ResourceRemapper> resourceRemappers, boolean analyzeMapping, String srcNamespace, String targetNamespace, @Nullable Consumer<TinyRemapper> action) {
2521
try {
2622
Map<Path, InputTag> tagMap = new HashMap<>();
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.logger;
2+
3+
import net.fabricmc.tinyremapper.api.TrLogger;
4+
import net.legacyfabric.fabric.api.logger.v1.Logger;
5+
6+
public class RemapperLogger implements TrLogger {
7+
private final Logger logger;
8+
9+
public RemapperLogger(Logger logger) {
10+
this.logger = logger;
11+
}
12+
13+
@Override
14+
public void log(Level level, String s) {
15+
switch (level) {
16+
case ERROR:
17+
logger.error(s);
18+
break;
19+
case WARN:
20+
logger.warn(s);
21+
break;
22+
case INFO:
23+
logger.info(s);
24+
break;
25+
case DEBUG:
26+
default:
27+
logger.debug(s);
28+
break;
29+
}
30+
}
31+
}

src/main/java/io/github/fabriccompatibiltylayers/modremappingapi/impl/remapper/minecraft/MinecraftRemapper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
import io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingTreeHelper;
66
import io.github.fabriccompatibiltylayers.modremappingapi.impl.mappings.MappingsRegistry;
77
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.TrRemapperHelper;
8+
import io.github.fabriccompatibiltylayers.modremappingapi.impl.remapper.logger.RemapperLogger;
89
import io.github.fabriccompatibiltylayers.modremappingapi.impl.utils.CacheUtils;
910
import io.github.fabriccompatibiltylayers.modremappingapi.impl.utils.FileUtils;
1011
import net.fabricmc.loader.api.FabricLoader;
1112
import net.fabricmc.tinyremapper.NonClassCopyMode;
1213
import net.fabricmc.tinyremapper.OutputConsumerPath;
1314
import net.fabricmc.tinyremapper.TinyRemapper;
15+
import net.legacyfabric.fabric.api.logger.v1.Logger;
1416
import org.jetbrains.annotations.ApiStatus;
1517

1618
import java.io.IOException;
@@ -20,6 +22,8 @@
2022

2123
@ApiStatus.Internal
2224
public class MinecraftRemapper {
25+
private static final Logger LOGGER = Logger.get("ModRemappingAPI", "MinecraftRemapper");
26+
2327
private static Collection<Path> getMinecraftJar(Collection<Path> sourcePaths, String src, String target, MappingsRegistry mappingsRegistry) throws IOException {
2428
Path targetFolder = CacheUtils.getLibraryPath(target);
2529

@@ -34,7 +38,7 @@ private static Collection<Path> getMinecraftJar(Collection<Path> sourcePaths, St
3438
FileUtils.delete(paths.values());
3539

3640
TinyRemapper.Builder builder = TinyRemapper
37-
.newRemapper()
41+
.newRemapper(new RemapperLogger(LOGGER))
3842
.renameInvalidLocals(true)
3943
.ignoreFieldDesc(false)
4044
.propagatePrivate(true)
@@ -54,7 +58,7 @@ private static Collection<Path> getMinecraftJar(Collection<Path> sourcePaths, St
5458

5559
List<OutputConsumerPath.ResourceRemapper> resourceRemappers = new ArrayList<>(NonClassCopyMode.FIX_META_INF.remappers);
5660

57-
TrRemapperHelper.applyRemapper(remapper, paths, outputConsumerPaths, resourceRemappers, true, src, target);
61+
TrRemapperHelper.applyRemapper(remapper, paths, outputConsumerPaths, resourceRemappers, true, src, target, null);
5862

5963
Constants.MAIN_LOGGER.info("MC jar remapped successfully!");
6064

0 commit comments

Comments
 (0)