Init: Optionally skip plugin installation process

That change fixes acceptance test execution from eclipse.

Change-Id: I489578d06a670547ea42dbbe41e2057b490208cd
This commit is contained in:
David Ostrovsky
2013-09-14 22:14:56 +02:00
parent 0309b790b4
commit d0ac97501b
4 changed files with 27 additions and 12 deletions

View File

@@ -84,7 +84,8 @@ class GerritServer {
File tmp = TempFileUtil.createTempDirectory();
Init init = new Init();
int rc = init.main(new String[] {
"-d", tmp.getPath(), "--batch", "--no-auto-start"});
"-d", tmp.getPath(), "--batch", "--no-auto-start",
"--skip-plugins"});
if (rc != 0) {
throw new RuntimeException("Couldn't initialize site");
}

View File

@@ -70,6 +70,9 @@ public class Init extends SiteProgram {
@Option(name = "--no-auto-start", usage = "Don't automatically start daemon after init")
private boolean noAutoStart;
@Option(name = "--skip-plugins", usage = "Don't install plugin")
private boolean skipPlugins = false;
@Option(name = "--list-plugins", usage = "List available plugins")
private boolean listPlugins;
@@ -90,22 +93,25 @@ public class Init extends SiteProgram {
ErrorLogFile.errorOnlyConsole();
final SiteInit init = createSiteInit();
final List<PluginData> plugins = InitPlugins.listPlugins(init.site);
ConsoleUI ui = ConsoleUI.getInstance(false);
verifyInstallPluginList(ui, plugins);
if (listPlugins) {
if (!plugins.isEmpty()) {
ui.message("Available plugins:\n");
for (PluginData plugin : plugins) {
ui.message(" * %s version %s\n", plugin.name, plugin.version);
if (!skipPlugins) {
final List<PluginData> plugins = InitPlugins.listPlugins(init.site);
ConsoleUI ui = ConsoleUI.getInstance(false);
verifyInstallPluginList(ui, plugins);
if (listPlugins) {
if (!plugins.isEmpty()) {
ui.message("Available plugins:\n");
for (PluginData plugin : plugins) {
ui.message(" * %s version %s\n", plugin.name, plugin.version);
}
} else {
ui.message("No plugins found.\n");
}
} else {
ui.message("No plugins found.\n");
return 0;
}
return 0;
}
init.flags.autoStart = !noAutoStart && init.site.isNew;
init.flags.skipPlugins = skipPlugins;
final SiteRun run;
try {

View File

@@ -34,10 +34,14 @@ public class InitFlags {
/** Run the daemon (and open the web UI in a browser) after initialization. */
public boolean autoStart;
/** Skip plugins */
public boolean skipPlugins;
public final FileBasedConfig cfg;
public final FileBasedConfig sec;
public final List<String> installPlugins;
@Inject
InitFlags(final SitePaths site,
final @InstallPlugins List<String> installPlugins) throws IOException,

View File

@@ -75,6 +75,10 @@ public class SitePathInitializer {
mkdir(site.data_dir);
for (InitStep step : steps) {
if (step instanceof InitPlugins
&& flags.skipPlugins) {
continue;
}
step.run();
}