From c7b6b05c2d7dd53405677dae270f92044fd7017d Mon Sep 17 00:00:00 2001 From: Luca Milanesio Date: Fri, 23 Jun 2017 10:59:57 +0100 Subject: [PATCH] Align lib modules load injector on Jetty and external containers Align the startup of Gerrit with a standalone Jetty container to the WebAppInitializer and load the user-provided Guice modules in the sysInjector instead of the DbInjector. Allows overriding some of the default bindings of Gerrit (e.g. repository manager or permissions backend) with custom-made alternate implementations. Change-Id: Ib4553ebaa5c00de911269056be14869332a60a62 --- gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java | 2 ++ .../src/main/java/com/google/gerrit/pgm/util/SiteProgram.java | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java index 915f0fb70b..803a14671d 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java @@ -47,6 +47,7 @@ import com.google.gerrit.pgm.util.ErrorLogFile; import com.google.gerrit.pgm.util.LogFileCompressor; import com.google.gerrit.pgm.util.RuntimeShutdown; import com.google.gerrit.pgm.util.SiteProgram; +import com.google.gerrit.server.LibModuleLoader; import com.google.gerrit.server.StartupChecks; import com.google.gerrit.server.account.InternalAccountDirectory; import com.google.gerrit.server.cache.h2.DefaultCacheFactory; @@ -436,6 +437,7 @@ public class Daemon extends SiteProgram { if (!slave) { modules.add(new ChangeCleanupRunner.Module()); } + modules.addAll(LibModuleLoader.loadModules(cfgInjector)); return cfgInjector.createChildInjector(modules); } diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteProgram.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteProgram.java index 279584a893..e7f5ffcf7b 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteProgram.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteProgram.java @@ -24,7 +24,6 @@ import com.google.gerrit.lifecycle.LifecycleModule; import com.google.gerrit.metrics.DisabledMetricMaker; import com.google.gerrit.metrics.MetricMaker; import com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker; -import com.google.gerrit.server.LibModuleLoader; import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.config.GerritServerConfigModule; import com.google.gerrit.server.config.SitePath; @@ -185,7 +184,6 @@ public abstract class SiteProgram extends AbstractProgram { modules.add(new SchemaModule()); modules.add(cfgInjector.getInstance(GitRepositoryManagerModule.class)); modules.add(new ConfigNotesMigration.Module()); - modules.addAll(LibModuleLoader.loadModules(cfgInjector)); try { return Guice.createInjector(PRODUCTION, modules);