Hi,
looks like commit 220a3f5d03b127e892bbc5f5458a74e23bb390f9 did introduce some funky circular dependency between the database module and NotesMigration (ConfigNotesMigration).
So running gerrit with a site path set in the database only was broken, Daemon.java solves this by explicitly setting the site path.
with this patch you can run gerrit in an servlet container:
diff --git a/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java b/gerrit-war/src/main/java/com/googl/gerrit/httpd/WebAppInitializer.java
index 71eed63..7e1b228 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
@@ -266,6 +266,7 @@ public class WebAppInitializer extends GuiceServletContextListener
});
}
modules.add(new DatabaseModule());
+ modules.add(new ConfigNotesMigration.Module());
modules.add(new DropWizardMetricMaker.ApiModule());
return Guice.createInjector(PRODUCTION, modules);
}
@@ -287,7 +288,6 @@ public class WebAppInitializer extends GuiceServletContextListener
modules.add(new GerritServerConfigModule());
}
modules.add(new SchemaModule());
- modules.add(new ConfigNotesMigration.Module());
modules.add(SchemaVersionCheck.module());
modules.add(new AuthConfigModule());
return dbInjector.createChildInjector(modules);
You need to set the System property "-Dgerrit.site_path=/home/thomas/gerrit" to make above patch work. the site path in the database became practically obsolete with NotesMigration change mentioned above.