Shaded jar support
Summary
Shaded jars are commonly required when building libraries to prevent Class collision of project jars.
Proposal
Implement a sharedJar command or extension
Libraries
The jar-relocator library provides code to shade a jar.
It should exclude any JAR index or cryptographic signature files matching the following patterns:
- META-INF/INDEX.LIST
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
Multiple dependencies may use the same service descriptor file name in META-INF/services. In this case, it is generally desired to merge the content of each instance of the file into a single output file.
Watch out also for the explicit module descriptor found at /module-info.class. Maven's shade plugin ignores module descriptors, including those found in /META-INF/versions.