Merge "Handle KeyboardInterrupt in Buck build wrapper scripts" into stable-2.8
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/BaseInit.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/BaseInit.java
index 4f77b0f..bd22146 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/BaseInit.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/BaseInit.java
@@ -75,7 +75,9 @@
@Override
public int run() throws Exception {
final SiteInit init = createSiteInit();
- beforeInit(init);
+ if (beforeInit(init)) {
+ return 0;
+ }
init.flags.autoStart = getAutoStart() && init.site.isNew;
init.flags.skipPlugins = skipPlugins();
@@ -108,7 +110,8 @@
return false;
}
- protected void beforeInit(SiteInit init) throws Exception {
+ protected boolean beforeInit(SiteInit init) throws Exception {
+ return false;
}
protected void afterInit(SiteRun run) throws Exception {
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
index cbf50b9..68e0f6a 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
@@ -76,11 +76,12 @@
}
@Override
- protected void beforeInit(SiteInit init) throws Exception {
+ protected boolean beforeInit(SiteInit init) throws Exception {
ErrorLogFile.errorOnlyConsole();
if (!skipPlugins) {
- final List<PluginData> plugins = InitPlugins.listPlugins(init.site);
+ final List<PluginData> plugins =
+ InitPlugins.listPluginsAndRemoveTempFiles(init.site);
ConsoleUI ui = ConsoleUI.getInstance(false);
verifyInstallPluginList(ui, plugins);
if (listPlugins) {
@@ -92,8 +93,10 @@
} else {
ui.message("No plugins found.\n");
}
+ return true;
}
}
+ return false;
}
@Override
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitPlugins.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitPlugins.java
index ee0d799..9c8305a 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitPlugins.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitPlugins.java
@@ -51,6 +51,14 @@
}
public static List<PluginData> listPlugins(SitePaths site) throws IOException {
+ return listPlugins(site, false);
+ }
+
+ public static List<PluginData> listPluginsAndRemoveTempFiles(SitePaths site) throws IOException {
+ return listPlugins(site, true);
+ }
+
+ private static List<PluginData> listPlugins(SitePaths site, boolean deleteTempPluginFile) throws IOException {
final File myWar = GerritLauncher.getDistributionArchive();
final List<PluginData> result = Lists.newArrayList();
try {
@@ -69,6 +77,9 @@
final InputStream in = zf.getInputStream(ze);
final File tmpPlugin = PluginLoader.storeInTemp(pluginName, in, site);
final String pluginVersion = getVersion(tmpPlugin);
+ if (deleteTempPluginFile) {
+ tmpPlugin.delete();
+ }
result.add(new PluginData(pluginName, pluginVersion, tmpPlugin));
}