more work on plugin script
This commit is contained in:
parent
9872b4977d
commit
6424d02be8
|
@ -5,9 +5,11 @@ import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.node.internal.InternalSettingsPerparer;
|
import org.elasticsearch.node.internal.InternalSettingsPerparer;
|
||||||
import org.elasticsearch.util.Tuple;
|
import org.elasticsearch.util.Tuple;
|
||||||
import org.elasticsearch.util.http.HttpDownloadHelper;
|
import org.elasticsearch.util.http.HttpDownloadHelper;
|
||||||
|
import org.elasticsearch.util.io.FileSystemUtils;
|
||||||
import org.elasticsearch.util.settings.Settings;
|
import org.elasticsearch.util.settings.Settings;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
|
@ -34,6 +36,15 @@ public class PluginManager {
|
||||||
downloadHelper.download(pluginUrl, new File(environment.pluginsFile(), name + ".zip"), new HttpDownloadHelper.VerboseProgress(System.out));
|
downloadHelper.download(pluginUrl, new File(environment.pluginsFile(), name + ".zip"), new HttpDownloadHelper.VerboseProgress(System.out));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removePlugin(String name) throws IOException {
|
||||||
|
File pluginToDelete = new File(environment.pluginsFile(), name + ".zip");
|
||||||
|
if (!pluginToDelete.exists()) {
|
||||||
|
throw new FileNotFoundException("Plugin [" + name + "] does not exists");
|
||||||
|
}
|
||||||
|
pluginToDelete.delete();
|
||||||
|
FileSystemUtils.deleteRecursively(new File(new File(environment.workFile(), "plugins"), name), true);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Tuple<Settings, Environment> initialSettings = InternalSettingsPerparer.prepareSettings(EMPTY_SETTINGS, true);
|
Tuple<Settings, Environment> initialSettings = InternalSettingsPerparer.prepareSettings(EMPTY_SETTINGS, true);
|
||||||
|
|
||||||
|
@ -45,21 +56,35 @@ public class PluginManager {
|
||||||
|
|
||||||
if (args.length < 1) {
|
if (args.length < 1) {
|
||||||
System.out.println("Usage:");
|
System.out.println("Usage:");
|
||||||
System.out.println(" - get [list of plugin names]: Downloads all the listed plugins");
|
System.out.println(" - install [list of plugin names]: Downloads and installs listed plugins");
|
||||||
|
System.out.println(" - remove [list of plugin names]: Removes listed plugins");
|
||||||
}
|
}
|
||||||
String command = args[0];
|
String command = args[0];
|
||||||
if (command.equals("get") || command.equals("-get") || command.equals("-g") || command.equals("--get")) {
|
if (command.equals("install")) {
|
||||||
if (args.length < 2) {
|
if (args.length < 2) {
|
||||||
System.out.println("'get' requires an additional parameter with the plugin name");
|
System.out.println("'install' requires an additional parameter with the plugin name");
|
||||||
}
|
}
|
||||||
for (int i = 1; i < args.length; i++) {
|
for (int i = 1; i < args.length; i++) {
|
||||||
String pluginName = args[i];
|
String pluginName = args[i];
|
||||||
System.out.print("-> Downloading " + pluginName + " ");
|
System.out.print("-> Installing " + pluginName + " ");
|
||||||
try {
|
try {
|
||||||
pluginManager.downloadPlugin(pluginName);
|
pluginManager.downloadPlugin(pluginName);
|
||||||
System.out.println(" DONE");
|
System.out.println(" DONE");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.out.println("Failed to download " + pluginName + ", reason: " + e.getMessage());
|
System.out.println("Failed to install " + pluginName + ", reason: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (command.equals("remove")) {
|
||||||
|
if (args.length < 2) {
|
||||||
|
System.out.println("'remove' requires an additional parameter with the plugin name");
|
||||||
|
}
|
||||||
|
for (int i = 1; i < args.length; i++) {
|
||||||
|
String pluginName = args[i];
|
||||||
|
System.out.println("-> Removing " + pluginName + " ");
|
||||||
|
try {
|
||||||
|
pluginManager.removePlugin(pluginName);
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Failed to remove " + pluginName + ", reason: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue