feat(cli): add option to show available plugins list

This commit is contained in:
Skylot
2023-09-27 19:44:17 +01:00
parent 89acf73010
commit 19f40b8549
2 changed files with 19 additions and 4 deletions
-2
View File
@@ -83,8 +83,6 @@ jadx[-gui] [command] [options] <input files> (.apk, .dex, .jar, .class, .smali,
commands (use '<command> --help' for command options):
plugins - manage jadx plugins
options:
-d, --output-dir - output directory
options:
-d, --output-dir - output directory
-ds, --output-dir-src - output directory for sources
@@ -7,6 +7,7 @@ import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import jadx.cli.JCommanderWrapper;
import jadx.plugins.tools.JadxPluginsList;
import jadx.plugins.tools.JadxPluginsTools;
import jadx.plugins.tools.data.JadxPluginMetadata;
import jadx.plugins.tools.data.JadxPluginUpdate;
@@ -23,6 +24,9 @@ public class CommandPlugins implements ICommand {
@Parameter(names = { "-l", "--list" }, description = "list installed plugins")
protected boolean list;
@Parameter(names = { "-a", "--available" }, description = "list available plugins")
protected boolean available;
@Parameter(names = { "-u", "--update" }, description = "update installed plugins")
protected boolean update;
@@ -67,9 +71,22 @@ public class CommandPlugins implements ICommand {
if (list) {
List<JadxPluginMetadata> installed = JadxPluginsTools.getInstance().getInstalled();
System.out.println("Installed plugins: " + installed.size());
int i = 1;
for (JadxPluginMetadata plugin : installed) {
System.out.println(" " + plugin.getPluginId() + ":" + plugin.getVersion()
+ " - " + plugin.getName() + ": " + plugin.getDescription());
System.out.println(" " + (i++) + ") "
+ plugin.getPluginId() + " (" + plugin.getVersion() + ") - "
+ plugin.getName() + ": " + plugin.getDescription());
}
}
if (available) {
List<JadxPluginMetadata> availableList = JadxPluginsList.getInstance().get();
System.out.println("Available plugins: " + availableList.size());
int i = 1;
for (JadxPluginMetadata plugin : availableList) {
System.out.println(" " + (i++) + ") "
+ plugin.getName() + ": " + plugin.getDescription()
+ " (" + plugin.getLocationId() + ")");
}
}
}