Hi, I've done some work on implementing `PlexusArchiver` that creates modular JAR files using the JDK `jar` tool (`ToolProvider`)[1]. It is still work in progress but I wanted to ask for you opinion - if there are no objections I'll polish it(fix the code formatting, implement the TODO items, etc) and would like eventually to merge it in master. Here are some key points:
* It requires Java 9. This of course is not the minimum required version for the rest of the archivers, but `java.util.spi.ToolProvider` is introduced in Java 9. I'll fix the source and target to be 7, but it will still require Java 9 to compile and currently Plexus Archiver does not compile on Java 9. This is easy to fix - requires only update of some of the plugins to yet to be released versions. * A new class is added `ModularJarArchiver`. This would allow a "normal" JARs to be created on Java 7 using `JarArchiver` while modular JARs will require Java 9 (I don't think this is an issue as you need Java 9 to compile modules anyway). * `ModularJarArchiver` uses `JarArchiver` to create a "normal" JAR file and then uses the JDK `jar` tool to update it to modular one. This may require some additional work during the build compared to creating the archive using only the `jar` tool, but `JarArchiver` provides some nice additional features not available in the `jar` tool(such as not re-compressing the zip files, generating manifest entries, etc). What do you think? Any objections to implement it this way? I think this is better approach than my previous attempt[2]. Regards, Plamen Totev [1] https://github.com/plamentotev/plexus-archiver/commit/b124aceb3f6a912a9dca44f5d14b9f3f2919bc6d [2] https://github.com/codehaus-plexus/plexus-archiver/pull/75 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
