vibur/vibur-object-pool

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.