New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dependency reorganization #2897
Conversation
ae4899d
to
f65f2fd
Compare
dropwizard-parent is still the parent POM for most Dropwizard modules, but automatically includes the dependencies from dropwizard-bom and dropwizard-dependencies.
f65f2fd
to
a31b807
Compare
@dropwizard/core Any thoughts on this PR? This would be the last change I want to bring in before releasing Dropwizard 2.0.0. |
🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fascinating issue + pr. Taking inspiration from another app framework like spring boot, definitely seems to be the correct approach. Shame that it'll be a breaking change for everyone, but as long as it's prominently displayed in the migration guide -- it's a quick fix.
@nickbabcock I thought about naming the bill of materials differently, i. e. "dropwizard-bom-modules" and keeping "dropwizard-bom" the way it was before. This would be an option which retains backward-compatibility, but we'll have to come up with a good name for the BOM referring to only the Dropwizard modules. Any suggestions? |
IMO it's fine in lieu of a better name, and 2.0 is as good as a time we'll get for this breaking change. |
The breaking change seems minor and reasonable. Maybe a mention of that breakage could be included in: https://github.com/dropwizard/dropwizard/wiki/Upgrade-guide-1.3.x-to-2.0.x |
The purpose of this PR are threefold:
Allow overriding the version of every dependency of Dropwizard by setting a Maven property
The bill of materials for all Dropwizard dependendencies is now named
io.dropwizard:dropwizard-dependencies
andio.dropwizard:dropwizard-bom
manages the version of all Dropwizard modules, but no other dependencies (refs Dropwizard BOM provides dependency management for modules outside the Dropwizard project #2880)io.dropwizard:dropwizard-parent
is still the parent POM for most Dropwizard modules, but automatically includes the dependencies fromio.dropwizard:dropwizard-bom
andio.dropwizard:dropwizard-dependencies
. Theio.dropwizard:docs
module inherits fromio.dropwizard:dropwizard-project
but doesn't have any overlap with any of the Dropwizard modules carrying code.TODO:
io.dropwizard:dropwizard-bom
in the Dropwizard 2.0.x migration guide