Skip to content

Add Archiver that creates modular JAR files using the JDK jar tool #84

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

Closed
wants to merge 5 commits into from
Closed

Add Archiver that creates modular JAR files using the JDK jar tool #84

wants to merge 5 commits into from

Conversation

plamentotev
Copy link
Member

@plamentotev plamentotev commented Apr 8, 2018

As discussed on dev list I've created Archiver that allows the creation of modular JAR files and setting their module version and main class. The implementation uses java.util.spi.ToolProvider so Java 9+ is required (it will run on Java 7+ but the version and main class will not be set). As discussed it does not support tool chain, but it is easy to add support if you think it is required.

This PR depends on #83. As new method is added to the API i decided it's better to split it into two merge requests. If they approved I'll rebase and merge into master

/cc @rfscholte

The purpose of the method is to allow subclasses
to augment the archive after it is created.
This is going to be used to update Jar archives
to modular Jar archives.
We're going to add Archiver implementation that could be used
for both regular and modular JAR archives. This base test class is
going to be useful to reuse tests between it and the existing
JarArchiver.
@plamentotev plamentotev added this to the 3.6 milestone Apr 8, 2018
@@ -10,7 +10,7 @@
</parent>

<artifactId>plexus-archiver</artifactId>
<version>3.5.1-SNAPSHOT</version>
<version>3.6-SNAPSHOT</version>
Copy link
Member

Choose a reason for hiding this comment

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

Can we do 3.6.0-SNAPSHOT instead ? I would suggest to have three digits.. ? WDYT ?

Copy link
Member Author

Choose a reason for hiding this comment

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

The last couple of releases are two digits. I don't know if there is any particular reason - I think @michael-o did the last release. Maybe he knows. Other than that I agree that with three digits is better.

Copy link
Member

Choose a reason for hiding this comment

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

We have agreed at some point to use semver with three digits.

Copy link
Member Author

Choose a reason for hiding this comment

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

ok, then I'll change it to 3.6.0

@michael-o
Copy link
Member

Can you please squash before merging?

@plamentotev
Copy link
Member Author

@michael-o I'll squash it. You mean that 38e2880, 54fe62b and 3c2dc6a should be one commit or that both PRs should be one commit?

@khmarbaise
Copy link
Member

Yes that means squashing ...to have only a single commit which represents the change and after merging it to master it's easier to understand in the history...

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

Successfully merging this pull request may close these issues.

3 participants