Enable plugins to create config stores for repository config

Therefore we have to
- add an API to create stores for repository ids, not only for
  repositories,
- make v1 properties available in scm-core
- make sure that properties are extracted from repositories before the
  update step of a plugin runs (this is done by sorting the update steps
  in a way so that "core" update steps are executed before plugin update
  steps with the same version)
This commit is contained in:
René Pfeuffer
2019-06-20 16:12:16 +02:00
parent d3b65ac3bd
commit 9581bf946b
29 changed files with 220 additions and 66 deletions

View File

@@ -24,6 +24,8 @@ import sonia.scm.store.FileBlobStoreFactory;
import sonia.scm.store.JAXBConfigurationEntryStoreFactory;
import sonia.scm.store.JAXBConfigurationStoreFactory;
import sonia.scm.store.JAXBDataStoreFactory;
import sonia.scm.update.V1PropertyDAO;
import sonia.scm.update.xml.XmlV1PropertyDAO;
public class BootstrapModule extends AbstractModule {
@@ -60,6 +62,7 @@ public class BootstrapModule extends AbstractModule {
bind(DataStoreFactory.class, JAXBDataStoreFactory.class);
bind(BlobStoreFactory.class, FileBlobStoreFactory.class);
bind(PluginLoader.class).toInstance(pluginLoader);
bind(V1PropertyDAO.class, XmlV1PropertyDAO.class);
}
private <T> void bind(Class<T> clazz, Class<? extends T> defaultImplementation) {