summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/command/DecompileCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/command/DecompileCommand.java')
-rw-r--r--src/main/java/cuchaz/enigma/command/DecompileCommand.java54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/main/java/cuchaz/enigma/command/DecompileCommand.java b/src/main/java/cuchaz/enigma/command/DecompileCommand.java
deleted file mode 100644
index 3d15dac..0000000
--- a/src/main/java/cuchaz/enigma/command/DecompileCommand.java
+++ /dev/null
@@ -1,54 +0,0 @@
1package cuchaz.enigma.command;
2
3import cuchaz.enigma.EnigmaProject;
4import cuchaz.enigma.ProgressListener;
5import cuchaz.enigma.source.DecompilerService;
6import cuchaz.enigma.source.Decompilers;
7
8import java.lang.reflect.Field;
9import java.nio.file.Path;
10import java.util.Locale;
11
12public class DecompileCommand extends Command {
13
14 public DecompileCommand() {
15 super("decompile");
16 }
17
18 @Override
19 public String getUsage() {
20 return "<decompiler> <in jar> <out folder> [<mappings file>]";
21 }
22
23 @Override
24 public boolean isValidArgument(int length) {
25 return length == 2 || length == 3;
26 }
27
28 @Override
29 public void run(String... args) throws Exception {
30 String decompilerName = getArg(args, 1, "decompiler", true);
31 Path fileJarIn = getReadableFile(getArg(args, 1, "in jar", true)).toPath();
32 Path fileJarOut = getWritableFolder(getArg(args, 2, "out folder", true)).toPath();
33 Path fileMappings = getReadablePath(getArg(args, 3, "mappings file", false));
34
35 DecompilerService decompilerService;
36
37 try {
38 Field decompilerField = Decompilers.class.getField(decompilerName.toUpperCase(Locale.ROOT));
39 decompilerService = (DecompilerService) decompilerField.get(null);
40 } catch (NoSuchFieldException e) {
41 System.err.println("Decompiler not found.");
42 return;
43 }
44
45 EnigmaProject project = openProject(fileJarIn, fileMappings);
46
47 ProgressListener progress = new ConsoleProgressListener();
48
49 EnigmaProject.JarExport jar = project.exportRemappedJar(progress);
50 EnigmaProject.SourceExport source = jar.decompile(progress, decompilerService);
51
52 source.write(fileJarOut, progress);
53 }
54}