Skip to content
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

Merged
merged 3 commits into from Aug 27, 2019
Merged

Dependency reorganization #2897

merged 3 commits into from Aug 27, 2019

Conversation

joschi
Copy link
Member

@joschi joschi commented Aug 24, 2019

The purpose of this PR are threefold:

  • Create properties for all dependencies:
    Allow overriding the version of every dependency of Dropwizard by setting a Maven property
  • Split BOM into Dropwizard modules and dependencies:
    The bill of materials for all Dropwizard dependendencies is now named io.dropwizard:dropwizard-dependencies and io.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)
  • Introduce dropwizard-project for common build configuration:
    io.dropwizard:dropwizard-parent is still the parent POM for most Dropwizard modules, but automatically includes the dependencies from io.dropwizard:dropwizard-bom and io.dropwizard:dropwizard-dependencies. The io.dropwizard:docs module inherits from io.dropwizard:dropwizard-project but doesn't have any overlap with any of the Dropwizard modules carrying code.

TODO:

  • Document changes with regards to io.dropwizard:dropwizard-bom in the Dropwizard 2.0.x migration guide

@joschi joschi self-assigned this Aug 24, 2019
@joschi joschi force-pushed the dependency-reorganization branch 2 times, most recently from ae4899d to f65f2fd Compare August 25, 2019 17:50
@joschi joschi added this to the 2.0.0 milestone Aug 25, 2019
dropwizard-parent is still the parent POM for most Dropwizard modules,
but automatically includes the dependencies from dropwizard-bom and dropwizard-dependencies.
@joschi
Copy link
Member Author

joschi commented Aug 25, 2019

@dropwizard/core Any thoughts on this PR?

This would be the last change I want to bring in before releasing Dropwizard 2.0.0.

@jplock
Copy link
Member

jplock commented Aug 25, 2019

:shipit: 🎉

Copy link
Contributor

@nickbabcock nickbabcock left a 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.

@joschi
Copy link
Member Author

joschi commented Aug 26, 2019

Shame that it'll be a breaking change for everyone

@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?

@nickbabcock
Copy link
Contributor

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.

@natalie-zamani
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants