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

Create a dedicated bundle / UberJAR module. #1029

Merged
merged 2 commits into from
Oct 20, 2021

Conversation

michael-simons
Copy link
Contributor

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 be neo4j-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.

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 be `neo4j-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)).
bundle/pom.xml Outdated Show resolved Hide resolved
Unpack dependencies works when executed after packaging, which is not the case when running `mvn test`.
Copy link
Contributor

@gjmwoods gjmwoods left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@injectives injectives merged commit d8dce60 into neo4j:4.4 Oct 20, 2021
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.

3 participants