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 340168c7a2..7bc6c0af16 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 @@ -20,6 +20,7 @@ import static com.google.inject.Stage.PRODUCTION; import com.google.gerrit.lifecycle.LifecycleModule; import com.google.gerrit.server.config.GerritServerConfigModule; import com.google.gerrit.server.config.SitePath; +import com.google.gerrit.server.git.LocalDiskRepositoryManager; import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DatabaseModule; import com.google.gerrit.server.schema.SchemaModule; @@ -164,6 +165,7 @@ public abstract class SiteProgram extends AbstractProgram { modules.add(new GerritServerConfigModule()); modules.add(new DatabaseModule()); modules.add(new SchemaModule()); + modules.add(new LocalDiskRepositoryManager.Module()); try { return Guice.createInjector(PRODUCTION, modules); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java index 268eed3953..f1493def99 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java @@ -15,9 +15,11 @@ package com.google.gerrit.server.git; import com.google.gerrit.lifecycle.LifecycleListener; +import com.google.gerrit.lifecycle.LifecycleModule; import com.google.gerrit.reviewdb.Project; import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.config.SitePaths; +import com.google.inject.AbstractModule; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -54,6 +56,20 @@ public class LocalDiskRepositoryManager implements GitRepositoryManager { private static final String UNNAMED = "Unnamed repository; edit this file to name it for gitweb."; + public static class Module extends AbstractModule { + @Override + protected void configure() { + bind(GitRepositoryManager.class).to(LocalDiskRepositoryManager.class); + + install(new LifecycleModule() { + @Override + protected void configure() { + listener().to(LocalDiskRepositoryManager.Lifecycle.class); + } + }); + } + } + public static class Lifecycle implements LifecycleListener { private final Config cfg; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaModule.java index ea277d7f1d..8dc7a3f75c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaModule.java @@ -16,14 +16,11 @@ package com.google.gerrit.server.schema; import static com.google.inject.Scopes.SINGLETON; -import com.google.gerrit.lifecycle.LifecycleModule; import com.google.gerrit.server.GerritPersonIdent; import com.google.gerrit.server.GerritPersonIdentProvider; import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.AllProjectsNameProvider; import com.google.gerrit.server.config.FactoryModule; -import com.google.gerrit.server.git.GitRepositoryManager; -import com.google.gerrit.server.git.LocalDiskRepositoryManager; import org.eclipse.jgit.lib.PersonIdent; @@ -39,13 +36,5 @@ public class SchemaModule extends FactoryModule { bind(AllProjectsName.class) .toProvider(AllProjectsNameProvider.class) .in(SINGLETON); - - bind(GitRepositoryManager.class).to(LocalDiskRepositoryManager.class); - install(new LifecycleModule() { - @Override - protected void configure() { - listener().to(LocalDiskRepositoryManager.Lifecycle.class); - } - }); } } diff --git a/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java b/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java index f51fbaf360..988ce4aac5 100644 --- a/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java +++ b/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java @@ -25,6 +25,7 @@ import com.google.gerrit.server.config.GerritGlobalModule; import com.google.gerrit.server.config.GerritServerConfigModule; import com.google.gerrit.server.config.MasterNodeStartup; import com.google.gerrit.server.config.SitePath; +import com.google.gerrit.server.git.LocalDiskRepositoryManager; import com.google.gerrit.server.mail.SmtpEmailSender; import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DatabaseModule; @@ -170,6 +171,7 @@ public class WebAppInitializer extends GuiceServletContextListener { modules.add(new GerritServerConfigModule()); } modules.add(new SchemaModule()); + modules.add(new LocalDiskRepositoryManager.Module()); modules.add(SchemaVersionCheck.module()); modules.add(new AuthConfigModule()); return dbInjector.createChildInjector(modules);