jdbi: POM Dependency Conflict
Greetings!
I’m opening an issue instead of a PR to get a consensus on what the fix should be (at which point I will submit a PR).
The issue is that when trying to build DropWizard against 3.3.0, the build fails:
https://github.com/dropwizard/dropwizard/pull/2394
The reason for the failure is that jdbi3-core is pulling in both antlr-runtime 3.3 and 3.4. This issue did not exist in 3.2.1.
This problem was introduced by depending on stringtemplate 4.0.2:
https://repo.maven.apache.org/maven2/org/antlr/stringtemplate/4.0.2/stringtemplate-4.0.2.pom
As you can see this explicitly requires antlr-runtime 3.3.
Proposals
- Rollback the dependency update for string template.
- Exclude antlr runtime from the string template dependency definition.
Please let me know which you prefer and I will make it happen.
NOTE: Regardless of the above, I would like to add dependency convergence enforcement to your build to catch this sort of issue going forward.
EDIT: JDBI3 correctly fails its build with enforcement enabled:
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.antlr:antlr-runtime:3.4 paths to dependency are:
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:antlr-runtime:3.4
and
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:antlr-runtime:3.4
+-org.antlr:antlr-runtime:3.3
EDIT2: What’s interesting, is forcing the inclusion of string template in core results in the following failures:
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.antlr:stringtemplate:4.0.2 paths to dependency are:
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:antlr-runtime:3.4
+-org.antlr:stringtemplate:4.0.2
and
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:stringtemplate:4.0.2
and
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:stringtemplate:4.0.2
+-org.antlr:stringtemplate:3.2.1
,
Dependency convergence error for org.antlr:antlr-runtime:3.4 paths to dependency are:
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:antlr-runtime:3.4
and
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:antlr-runtime:3.4
+-org.antlr:antlr-runtime:3.3
and
+-org.jdbi:jdbi3-core:3.3.0
+-org.antlr:stringtemplate:4.0.2
+-org.antlr:antlr-runtime:3.4
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (11 by maintainers)
Sorry for the delay, I am building the 3.4.0 release now.