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
	 Luca Milanesio
					Luca Milanesio