From 89d207d06b433401875379a14c3b2899af123316 Mon Sep 17 00:00:00 2001 From: asie Date: Mon, 27 May 2019 22:01:30 +0200 Subject: [PATCH] remove hacky mixin refmap remapper --- .../fabricmc/loom/LoomGradleExtension.java | 1 - .../fabricmc/loom/util/MixinRefmapHelper.java | 81 ------------------- .../net/fabricmc/loom/util/ModProcessor.java | 7 -- 3 files changed, 89 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 719a1bd5..96537fde 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -51,7 +51,6 @@ public class LoomGradleExtension { public String refmapName; public String loaderLaunchMethod; public boolean remapMod = true; - public boolean remapDependencyMixinRefMaps = true; public boolean autoGenIDERuns = true; public boolean extractJars = false; diff --git a/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java b/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java index f4ff263c..eab04f94 100644 --- a/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java +++ b/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java @@ -127,85 +127,4 @@ public final class MixinRefmapHelper { }); return mixinRefmapFilenames; } - - public static boolean transformRefmaps(TinyRemapper remapper, File output) { - Set mixinRefmapFilenames = findRefmaps(output); - - if (mixinRefmapFilenames.size() > 0) { - Remapper asmRemapper; - // TODO: Expose in tiny-remapper - try { - Field f = TinyRemapper.class.getDeclaredField("remapper");; - f.setAccessible(true); - asmRemapper = (Remapper) f.get(remapper); - } catch (Exception e) { - throw new RuntimeException(e); - } - - ZipUtil.transformEntries( - output, - mixinRefmapFilenames.stream() - .map((f) -> new ZipEntryTransformerEntry(f, new StringZipEntryTransformer("UTF-8") { - @Override - protected String transform(ZipEntry zipEntry, String input) throws IOException { - return transformRefmap(asmRemapper, GSON, input); - } - })).toArray(ZipEntryTransformerEntry[]::new) - ); - - return true; - } else { - return false; - } - } - - public static String transformRefmap(Remapper remapper, Gson gson, String input) throws IOException { - try { - JsonObject refMap = gson.fromJson(input, JsonObject.class); - JsonObject mappings = refMap.getAsJsonObject("mappings"); - - for (Map.Entry elementEntry : mappings.entrySet()) { - JsonObject value = elementEntry.getValue().getAsJsonObject(); - for (String k : new HashSet<>(value.keySet())) { - try { - String v = value.get(k).getAsString(); - String v2; - - if (v.charAt(0) == 'L') { - // field or member - MemberInfo info = MemberInfo.parse(v); - String owner = remapper.map(info.owner); - if (info.isField()) { - v2 = new MemberInfo( - remapper.mapFieldName(info.owner, info.name, info.desc), - owner, - remapper.mapDesc(info.desc) - ).toString(); - } else { - v2 = new MemberInfo( - remapper.mapMethodName(info.owner, info.name, info.desc), - owner, - remapper.mapMethodDesc(info.desc) - ).toString(); - } - } else { - // class - v2 = remapper.map(v); - } - - if (v2 != null) { - value.addProperty(k, v2); - } - } catch (Exception ee) { - ee.printStackTrace(); - } - } - } - - return gson.toJson(refMap); - } catch (Exception e) { - e.printStackTrace(); - return input; - } - } } diff --git a/src/main/java/net/fabricmc/loom/util/ModProcessor.java b/src/main/java/net/fabricmc/loom/util/ModProcessor.java index 440efefa..dfb250c9 100644 --- a/src/main/java/net/fabricmc/loom/util/ModProcessor.java +++ b/src/main/java/net/fabricmc/loom/util/ModProcessor.java @@ -173,13 +173,6 @@ public class ModProcessor { if(!output.exists()){ throw new RuntimeException("Failed to remap JAR to " + toM + " file not found: " + output.getAbsolutePath()); } - - if (extension.remapDependencyMixinRefMaps) { - if (MixinRefmapHelper.transformRefmaps(remapper, output)) { - project.getLogger().lifecycle(":remapping " + input.getName() + " (Mixin reference maps)"); - remapper.finish(); - } - } } static void readInstallerJson(File file, Project project){