disruptor should be optional=true, not scope=provided
bbottema opened this issue · 3 comments
Hi, I'm just going by the description in your maven POM:
<!-- Disruptor dependency will be used only if MultithreadConcurrentQueueCollection
is injected as a ConcurrentCollection in ConcurrentPool. If the client's application
wants to use and inject MCQC, it needs to provide the below dependency. -->
<dependency>
<groupId>com.conversantmedia</groupId>
<artifactId>disruptor</artifactId>
<version>${disruptor.version}</version>
<scope>provided</scope>
</dependency>
That means it should have <optional>true</optional>
instead of <scope>provided</scope>
. With provided scope, you tell maven (and static code analysers) that you have an always-on dependency that you assume will be provided by the end-user. But if I read your comment, it is actually an optional dependency the end-user can provide.
Hi @bbottema, thanks for your comment, yes that's true it should be <optional>true</optional>
with the default compile scope. I found one more of the same kind in the vibur-dbcp project pom file, it also needs to change. I can't remember why I have done it this way back at the time.. Is this provided dependency causing some immediate problem for you at the moment? I mean, I'll keep the issue open and I'll definitely fix it in future, but I wasn't planing to push out a new release right now.
Nope, no issues at the moment. Just thought I let you know 🍺
Fixed in version 24.0.