From e1b780ae6d60bd6a9635f6f1197dc26d2b31e3a8 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Fri, 28 Jun 2019 23:13:43 +0200 Subject: Profile option for mappings to be saved by-obf instead of by-deobf --- .../cuchaz/enigma/command/CheckMappingsCommand.java | 5 ++++- src/main/java/cuchaz/enigma/command/Command.java | 6 +++++- .../cuchaz/enigma/command/ComposeMappingsCommand.java | 10 +++++++--- .../cuchaz/enigma/command/ConvertMappingsCommand.java | 8 ++++++-- .../cuchaz/enigma/command/InvertMappingsCommand.java | 8 ++++++-- .../java/cuchaz/enigma/command/MappingCommandsUtil.java | 17 +++++++++-------- 6 files changed, 37 insertions(+), 17 deletions(-) (limited to 'src/main/java/cuchaz/enigma/command') diff --git a/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java b/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java index 08e73e6..9d238e3 100644 --- a/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java +++ b/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java @@ -5,6 +5,7 @@ import cuchaz.enigma.EnigmaProject; import cuchaz.enigma.ProgressListener; import cuchaz.enigma.analysis.index.JarIndex; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.serde.MappingFormat; import cuchaz.enigma.translation.mapping.tree.EntryTree; import cuchaz.enigma.translation.representation.entry.ClassEntry; @@ -43,7 +44,9 @@ public class CheckMappingsCommand extends Command { System.out.println("Reading mappings..."); MappingFormat format = chooseEnigmaFormat(fileMappings); - EntryTree mappings = format.read(fileMappings, ProgressListener.none()); + MappingSaveParameters saveParameters = enigma.getProfile().getMappingSaveParameters(); + + EntryTree mappings = format.read(fileMappings, ProgressListener.none(), saveParameters); project.setMappings(mappings); JarIndex idx = project.getJarIndex(); diff --git a/src/main/java/cuchaz/enigma/command/Command.java b/src/main/java/cuchaz/enigma/command/Command.java index 41d7bfa..d53ed6e 100644 --- a/src/main/java/cuchaz/enigma/command/Command.java +++ b/src/main/java/cuchaz/enigma/command/Command.java @@ -4,6 +4,7 @@ import cuchaz.enigma.Enigma; import cuchaz.enigma.EnigmaProject; import cuchaz.enigma.ProgressListener; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.serde.MappingFormat; import cuchaz.enigma.translation.mapping.tree.EntryTree; @@ -35,7 +36,10 @@ public abstract class Command { if (fileMappings != null) { System.out.println("Reading mappings..."); - EntryTree mappings = chooseEnigmaFormat(fileMappings).read(fileMappings, progress); + + MappingSaveParameters saveParameters = enigma.getProfile().getMappingSaveParameters(); + EntryTree mappings = chooseEnigmaFormat(fileMappings).read(fileMappings, progress, saveParameters); + project.setMappings(mappings); } diff --git a/src/main/java/cuchaz/enigma/command/ComposeMappingsCommand.java b/src/main/java/cuchaz/enigma/command/ComposeMappingsCommand.java index 1f6a069..f57f1fa 100644 --- a/src/main/java/cuchaz/enigma/command/ComposeMappingsCommand.java +++ b/src/main/java/cuchaz/enigma/command/ComposeMappingsCommand.java @@ -2,6 +2,8 @@ package cuchaz.enigma.command; import cuchaz.enigma.throwables.MappingParseException; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingFileNameFormat; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.tree.EntryTree; import cuchaz.enigma.utils.Utils; @@ -26,12 +28,14 @@ public class ComposeMappingsCommand extends Command { @Override public void run(String... args) throws IOException, MappingParseException { - EntryTree left = MappingCommandsUtil.read(args[0], Paths.get(args[1])); - EntryTree right = MappingCommandsUtil.read(args[2], Paths.get(args[3])); + MappingSaveParameters saveParameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF); + + EntryTree left = MappingCommandsUtil.read(args[0], Paths.get(args[1]), saveParameters); + EntryTree right = MappingCommandsUtil.read(args[2], Paths.get(args[3]), saveParameters); EntryTree result = MappingCommandsUtil.compose(left, right, args[6].equals("left") || args[6].equals("both"), args[6].equals("right") || args[6].equals("both")); Path output = Paths.get(args[5]); Utils.delete(output); - MappingCommandsUtil.write(result, args[4], output); + MappingCommandsUtil.write(result, args[4], output, saveParameters); } } diff --git a/src/main/java/cuchaz/enigma/command/ConvertMappingsCommand.java b/src/main/java/cuchaz/enigma/command/ConvertMappingsCommand.java index 775bd3e..689df02 100644 --- a/src/main/java/cuchaz/enigma/command/ConvertMappingsCommand.java +++ b/src/main/java/cuchaz/enigma/command/ConvertMappingsCommand.java @@ -2,6 +2,8 @@ package cuchaz.enigma.command; import cuchaz.enigma.throwables.MappingParseException; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingFileNameFormat; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.tree.EntryTree; import cuchaz.enigma.utils.Utils; @@ -26,10 +28,12 @@ public class ConvertMappingsCommand extends Command { @Override public void run(String... args) throws IOException, MappingParseException { - EntryTree mappings = MappingCommandsUtil.read(args[0], Paths.get(args[1])); + MappingSaveParameters saveParameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF); + + EntryTree mappings = MappingCommandsUtil.read(args[0], Paths.get(args[1]), saveParameters); Path output = Paths.get(args[3]); Utils.delete(output); - MappingCommandsUtil.write(mappings, args[2], output); + MappingCommandsUtil.write(mappings, args[2], output, saveParameters); } } diff --git a/src/main/java/cuchaz/enigma/command/InvertMappingsCommand.java b/src/main/java/cuchaz/enigma/command/InvertMappingsCommand.java index bfe8308..cd11e2e 100644 --- a/src/main/java/cuchaz/enigma/command/InvertMappingsCommand.java +++ b/src/main/java/cuchaz/enigma/command/InvertMappingsCommand.java @@ -2,6 +2,8 @@ package cuchaz.enigma.command; import cuchaz.enigma.throwables.MappingParseException; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingFileNameFormat; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.tree.EntryTree; import cuchaz.enigma.utils.Utils; @@ -26,11 +28,13 @@ public class InvertMappingsCommand extends Command { @Override public void run(String... args) throws IOException, MappingParseException { - EntryTree source = MappingCommandsUtil.read(args[0], Paths.get(args[1])); + MappingSaveParameters saveParameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF); + + EntryTree source = MappingCommandsUtil.read(args[0], Paths.get(args[1]), saveParameters); EntryTree result = MappingCommandsUtil.invert(source); Path output = Paths.get(args[3]); Utils.delete(output); - MappingCommandsUtil.write(result, args[2], output); + MappingCommandsUtil.write(result, args[2], output, saveParameters); } } diff --git a/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java b/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java index 03d9ab7..8384e4e 100644 --- a/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java +++ b/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java @@ -5,6 +5,7 @@ import cuchaz.enigma.throwables.MappingParseException; import cuchaz.enigma.translation.MappingTranslator; import cuchaz.enigma.translation.Translator; import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; import cuchaz.enigma.translation.mapping.VoidEntryResolver; import cuchaz.enigma.translation.mapping.serde.*; import cuchaz.enigma.translation.mapping.tree.EntryTree; @@ -91,13 +92,13 @@ public final class MappingCommandsUtil { return result; } - public static EntryTree read(String type, Path path) throws MappingParseException, IOException { + public static EntryTree read(String type, Path path, MappingSaveParameters saveParameters) throws MappingParseException, IOException { if (type.equals("enigma")) { - return EnigmaMappingsReader.DIRECTORY.read(path, ProgressListener.none()); + return EnigmaMappingsReader.DIRECTORY.read(path, ProgressListener.none(), saveParameters); } if (type.equals("tiny")) { - return TinyMappingsReader.INSTANCE.read(path, ProgressListener.none()); + return TinyMappingsReader.INSTANCE.read(path, ProgressListener.none(), saveParameters); } MappingFormat format = null; @@ -106,15 +107,15 @@ public final class MappingCommandsUtil { } catch (IllegalArgumentException ignored) {} if (format != null) { - return format.getReader().read(path, ProgressListener.none()); + return format.getReader().read(path, ProgressListener.none(), saveParameters); } throw new IllegalArgumentException("no reader for " + type); } - public static void write(EntryTree mappings, String type, Path path) { + public static void write(EntryTree mappings, String type, Path path, MappingSaveParameters saveParameters) { if (type.equals("enigma")) { - EnigmaMappingsWriter.DIRECTORY.write(mappings, path, ProgressListener.none()); + EnigmaMappingsWriter.DIRECTORY.write(mappings, path, ProgressListener.none(), saveParameters); return; } @@ -125,7 +126,7 @@ public final class MappingCommandsUtil { throw new IllegalArgumentException("specify column names as 'tiny:from_column:to_column'"); } - new TinyMappingsWriter(split[1], split[2]).write(mappings, path, ProgressListener.none()); + new TinyMappingsWriter(split[1], split[2]).write(mappings, path, ProgressListener.none(), saveParameters); return; } @@ -135,7 +136,7 @@ public final class MappingCommandsUtil { } catch (IllegalArgumentException ignored) {} if (format != null) { - format.getWriter().write(mappings, path, ProgressListener.none()); + format.getWriter().write(mappings, path, ProgressListener.none(), saveParameters); return; } -- cgit v1.2.3