summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java')
-rw-r--r--core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java b/core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java
index a3e6c375f8..af48c1d820 100644
--- a/core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java
+++ b/core/src/main/java/org/elasticsearch/plugins/RemovePluginCommand.java
@@ -24,45 +24,49 @@ import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import joptsimple.OptionSet;
import joptsimple.OptionSpec;
import org.apache.lucene.util.IOUtils;
import org.elasticsearch.cli.Command;
import org.elasticsearch.cli.ExitCodes;
+import org.elasticsearch.cli.SettingCommand;
import org.elasticsearch.cli.UserError;
import org.elasticsearch.common.Strings;
import org.elasticsearch.cli.Terminal;
+import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.env.Environment;
+import org.elasticsearch.node.internal.InternalSettingsPreparer;
import static org.elasticsearch.cli.Terminal.Verbosity.VERBOSE;
/**
* A command for the plugin cli to remove a plugin from elasticsearch.
*/
-class RemovePluginCommand extends Command {
+class RemovePluginCommand extends SettingCommand {
- private final Environment env;
private final OptionSpec<String> arguments;
- RemovePluginCommand(Environment env) {
+ RemovePluginCommand() {
super("Removes a plugin from elasticsearch");
- this.env = env;
this.arguments = parser.nonOptions("plugin name");
}
@Override
- protected void execute(Terminal terminal, OptionSet options) throws Exception {
+ protected void execute(Terminal terminal, OptionSet options, Map<String, String> settings) throws Exception {
// TODO: in jopt-simple 5.0 we can enforce a min/max number of positional args
List<String> args = arguments.values(options);
if (args.size() != 1) {
throw new UserError(ExitCodes.USAGE, "Must supply a single plugin id argument");
}
- execute(terminal, args.get(0));
+ execute(terminal, args.get(0), settings);
}
// pkg private for testing
- void execute(Terminal terminal, String pluginName) throws Exception {
+ void execute(Terminal terminal, String pluginName, Map<String, String> settings) throws Exception {
+ final Environment env = InternalSettingsPreparer.prepareEnvironment(Settings.EMPTY, terminal, settings);
+
terminal.println("-> Removing " + Strings.coalesceToEmpty(pluginName) + "...");
Path pluginDir = env.pluginsFile().resolve(pluginName);