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
This commit is contained in:
@@ -47,6 +47,7 @@ import com.google.gerrit.pgm.util.ErrorLogFile;
|
|||||||
import com.google.gerrit.pgm.util.LogFileCompressor;
|
import com.google.gerrit.pgm.util.LogFileCompressor;
|
||||||
import com.google.gerrit.pgm.util.RuntimeShutdown;
|
import com.google.gerrit.pgm.util.RuntimeShutdown;
|
||||||
import com.google.gerrit.pgm.util.SiteProgram;
|
import com.google.gerrit.pgm.util.SiteProgram;
|
||||||
|
import com.google.gerrit.server.LibModuleLoader;
|
||||||
import com.google.gerrit.server.StartupChecks;
|
import com.google.gerrit.server.StartupChecks;
|
||||||
import com.google.gerrit.server.account.InternalAccountDirectory;
|
import com.google.gerrit.server.account.InternalAccountDirectory;
|
||||||
import com.google.gerrit.server.cache.h2.DefaultCacheFactory;
|
import com.google.gerrit.server.cache.h2.DefaultCacheFactory;
|
||||||
@@ -436,6 +437,7 @@ public class Daemon extends SiteProgram {
|
|||||||
if (!slave) {
|
if (!slave) {
|
||||||
modules.add(new ChangeCleanupRunner.Module());
|
modules.add(new ChangeCleanupRunner.Module());
|
||||||
}
|
}
|
||||||
|
modules.addAll(LibModuleLoader.loadModules(cfgInjector));
|
||||||
return cfgInjector.createChildInjector(modules);
|
return cfgInjector.createChildInjector(modules);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import com.google.gerrit.lifecycle.LifecycleModule;
|
|||||||
import com.google.gerrit.metrics.DisabledMetricMaker;
|
import com.google.gerrit.metrics.DisabledMetricMaker;
|
||||||
import com.google.gerrit.metrics.MetricMaker;
|
import com.google.gerrit.metrics.MetricMaker;
|
||||||
import com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker;
|
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.GerritServerConfig;
|
||||||
import com.google.gerrit.server.config.GerritServerConfigModule;
|
import com.google.gerrit.server.config.GerritServerConfigModule;
|
||||||
import com.google.gerrit.server.config.SitePath;
|
import com.google.gerrit.server.config.SitePath;
|
||||||
@@ -185,7 +184,6 @@ public abstract class SiteProgram extends AbstractProgram {
|
|||||||
modules.add(new SchemaModule());
|
modules.add(new SchemaModule());
|
||||||
modules.add(cfgInjector.getInstance(GitRepositoryManagerModule.class));
|
modules.add(cfgInjector.getInstance(GitRepositoryManagerModule.class));
|
||||||
modules.add(new ConfigNotesMigration.Module());
|
modules.add(new ConfigNotesMigration.Module());
|
||||||
modules.addAll(LibModuleLoader.loadModules(cfgInjector));
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return Guice.createInjector(PRODUCTION, modules);
|
return Guice.createInjector(PRODUCTION, modules);
|
||||||
|
|||||||
Reference in New Issue
Block a user