Skip to content

Consider moving jar to Maven or eliminating entirely #580

Description

@headius

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 executable war files`.

These two classes could be moved to Maven modules and versioned from there. They could also be eliminated altogether:

  • The JarMain class could be re-integrated back into JRuby, since it provides functionality the existing JRuby JarBootstrapMain does not. Building an executable jar would then just involve repackaging JRuby with appropriate layout and configuration to run the user's app.
  • The WarMain class could be generated, or written in Ruby with a JarMain bootstrap 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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions