[MENFORCER-437] DependencyConvergence treats provided dependencies are runtime dependencies (original) (raw)

After upgrading from 3.0.0-M1 to 3.1.0 we started getting a dependency convergence error for a transitive provided dependencies on org.osgi.core.

... +-org.xerial.snappy:snappy-java:jar:1.1.8.3:runtime +-org.osgi:org.osgi.core:jar:4.3.0:runtime ... +-org.apache.commons:commons-compress:jar:1.21:runtime +-org.osgi:org.osgi.core:jar:6.0.0:runtime

It's strange that is is shown here as a runtime dependency, when both snappy-java and commons-compress declare it as a provided dependency.

In fact osgi doesn't show up in the dependency tree at all.

Being a transitive provided dependency osgi will never be put on the classpath unless we manually put it there, so having to deal with such errors isn't ideal.