diff --git a/scm-webapp/src/main/java/sonia/scm/BindingExtensionProcessor.java b/scm-webapp/src/main/java/sonia/scm/BindingExtensionProcessor.java index 07df184863..666e925ddf 100644 --- a/scm-webapp/src/main/java/sonia/scm/BindingExtensionProcessor.java +++ b/scm-webapp/src/main/java/sonia/scm/BindingExtensionProcessor.java @@ -46,6 +46,8 @@ import sonia.scm.group.GroupListener; import sonia.scm.io.FileSystem; import sonia.scm.plugin.ext.Extension; import sonia.scm.plugin.ext.ExtensionProcessor; +import sonia.scm.repository.BlameLinePreProcessor; +import sonia.scm.repository.BlameLinePreProcessorFactory; import sonia.scm.repository.ChangesetPreProcessor; import sonia.scm.repository.ChangesetPreProcessorFactory; import sonia.scm.repository.FileObjectPreProcessor; @@ -125,6 +127,12 @@ public class BindingExtensionProcessor implements ExtensionProcessor Multibinder fileObjectPreProcessorFactoryBinder = Multibinder.newSetBinder(binder, FileObjectPreProcessorFactory.class); + // blameline pre processor + Multibinder blameLinePreProcessorBinder = + Multibinder.newSetBinder(binder, BlameLinePreProcessor.class); + Multibinder blameLinePreProcessorFactoryBinder = + Multibinder.newSetBinder(binder, BlameLinePreProcessorFactory.class); + // repository service resolver Multibinder repositoryServiceResolverBinder = Multibinder.newSetBinder(binder, RepositoryServiceResolver.class); @@ -273,6 +281,27 @@ public class BindingExtensionProcessor implements ExtensionProcessor fileObjectPreProcessorFactoryBinder.addBinding().to(extensionClass); } + else if (BlameLinePreProcessor.class.isAssignableFrom(extensionClass)) + { + if (logger.isInfoEnabled()) + { + logger.info("bind BlameLinePreProcessor {}", + extensionClass.getName()); + } + + blameLinePreProcessorBinder.addBinding().to(extensionClass); + } + else if (BlameLinePreProcessorFactory.class.isAssignableFrom( + extensionClass)) + { + if (logger.isInfoEnabled()) + { + logger.info("bind BlameLinePreProcessorFactory {}", + extensionClass.getName()); + } + + blameLinePreProcessorFactoryBinder.addBinding().to(extensionClass); + } else if (RepositoryHook.class.isAssignableFrom(extensionClass)) { if (logger.isInfoEnabled())