Declare api and implementation dependencies to align with code usages #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
It is generally best practice to explicitly declare dependencies that are used in your code rather than relying on them to come through transitively. Though in reality the risk of these transitive dependencies disappearing is low and would be easily noticed, the declaration of proper
api
dependencies will assure that our publishedpom
files are accurate and others will not have to separately declare some dependencies that we rely on when using our jar files.The changes made here were done with the help of this Gradle dependency-analysis plugin, which is still not at v1.0 and seems to have a few quirks, but my spot checks of the suggestions given seem like they provide solid advice.
Changes