Consider moving jar to Maven or eliminating entirely
We currently build lib/warbler_jar.jar as part of this gem, even though most of it is not necessary for the execution of the gem.
Two classes in this jar are used by warbler as a JRuby extension to build the resulting archive: WarblerJar and WarblerJarService. None of this code really needs to be written in Java (it's largely just zip file manipulation and creation).
The remaining two sources built and installed in this jar are provided to bootstrap applications built by warbler (not to run warbler itself):
JarMain: provides a "main" entry point for standalone executable jars.WarMain: supports the embedded web application server used for executablewarfiles`.
These two classes could be moved to Maven modules and versioned from there. They could also be eliminated altogether:
- The
JarMainclass could be re-integrated back into JRuby, since it provides functionality the existing JRubyJarBootstrapMaindoes not. Building an executable jar would then just involve repackaging JRuby with appropriate layout and configuration to run the user's app. - The
WarMainclass could be generated, or written in Ruby with aJarMainbootstrap to run the ruby and then re-dispatch to the web server's main.
Eliminating the extension would get the gem back to a pure-Ruby construct and allow it to be run from any compatible Ruby implementation.
Transplanting or eliminating the "mains" would make it possible to build the warbler gem with any compatible Ruby implementation.
See #579 for work done to remove the jar from the repository.