gerrit/gerrit-server/src/main/java/com/google/gerrit
Jacek Centkowski b6e94a00a0 Introduce mechanism to overload Gerrit core modules
CacheImpl [1] introduced the possibility to overload core Gerrit
module with one that is provided by library. This change
generalizes it so that any Gerrit core module can be overloaded.

How to overload Gerrit core module:
* identify module that needs to be overloaded and mark it with
@ModuleImpl(name="moduleX") annotation; note that circular dependencies
from different module qualifies particular instance as non-candidate
* build lib module that provides alternative implementation
to the module in question and mark it with the same
annotation
* place implementation jar under GERRIT_SITE/lib dir and add
gerrit.installModule entry with your.package.Module path to
gerrit.config.

[1] https://gerrit-review.googlesource.com/c/gerrit/+/173162

Change-Id: Ic6dac8d1cc558abdcfd7a1cc257dbd7f8924ff9b
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
2018-05-14 13:09:55 +09:00
..
audit Ensure constants are declared as immutable collections 2017-03-08 10:33:02 -05:00
common Fix firing change related event for deleted change 2017-05-18 13:56:25 -04:00
lifecycle Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
metrics Add more missing type arguments for generic class Class<T> 2017-03-16 20:47:39 +09:00
rules Upgrade to google-java-format 1.5 2018-04-18 09:06:49 +02:00
server Introduce mechanism to overload Gerrit core modules 2018-05-14 13:09:55 +09:00