Create a dedicated bundle / UberJAR module. #1029
Merged
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.
This provides the driver UberJAR as it is known and used plus a slim deployment. It works by turning the previous main artifact into
neo4j-java-driver-slim
and the new bundle will beneo4j-java-driver
.The bundle depends on the slim artifact, extracts it and attaches it during the build so that a valid JavaDoc artifact (and sources artifact) are created and than shades the rest into it as before.
Care must be taken of the optional dependencies so that they are not included as well as the Reactive Streams API (so that it is a transitive dependency (the slim module is optional, otherwise the whole exercise would be in vain for downstream modules)).
This is an alternative (and IMHO) better approach than #1024, thanks @injectives for pointing this out.