Add support for overriding replication configuration
It is a next step in the direction of modifying the replicationn
configuraiton from an external source. Where the external source could
be a git repository or third party configuration managemnet system.
This adds a `ReplicationConfigOverrides` interface and a default bindng
for `DynamicItem<ReplicationConfigOverrides`. The added interface is
just an extension of `ConfigResource` as Guice was complaining about
duplicated binding for `ConfigResource` when it was used in
`DynamicItem`. Additinally `RepilcationConfigOverrides` conveys better
its purpose.
For now, the default implementation provides no overrides. As the
location of overrides files is still to be decided.
Finally, the `MergedConfigResource` will take both, the base
configuraiton for the file system, and configured overrides and merge
both JGit `Config` objects togehter.
With this approach, an implementation of `ReplicationConfigOverrides`
can provide a single confiuration option or the whole configuration
file.
Later we may consider, discarding some of the overrides, like
`gerrit.autoReload`, as disabling that option will effecively prevent
users from updating configuation.
Change-Id: I2e401c05571180719df33a4a094fbb4ccfb39f23
13 files changed