Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Pack a Ruby application into an executable jar file.
Jarbler creates a self executing Java jar file containing a Ruby application and all its Gem dependencies.
This tool is inspired by the widely used JRuby runner Warbler. The configured Ruby program is directly executed inside the JVM using the JRuby runtime jars.
Install the gem and add to the application's Gemfile by executing:
$ bundle add jarbler --group "development"
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install jarbler
To create a jar file simply run "jarble" in your application's root directory.
$ jarble
To adjust Jarbler's configuration, modify the settings in config file ´config/jarble.rb´. The template for this config file you create by executing
$ jarble config
The jar file created by Jarbler can be executed by
$ java -jar <jar filename>
Additional command line parameters are passed through to the executed Ruby app (like "-p 8900" for different network port number with bin/rails)
The file config/jarble.rb contains the configuration for Jarbler. To create a template config file with information about all the supported configuration options, execute:
$ jarble config
The default configuration is focused on Ruby on Rails applications.
Option | Default value | Description |
---|---|---|
compile_ruby_files | false | Ahead of time compilation of all .rb files of application and Gem dependencies to .class files. Only store .class files in jar. Requires JRuby runtime. |
executable | "bin/rails" | The ruby start file to run at execution of jar file. File extension .class is used automatically if start file is .rb and AOT compilation is used. |
executable_params | ["server", "-e", "production", "-p", "8080"] | Command line parameters to be used for the ruby executable |
excludes_from_compile | [] | The files and dirs of the project to exclude from the compilation of .rb files. Paths specifies the location in the jar file (e.g. ["app_root/file.rb"] ) |
excludes | ["tmp/cache", "tmp/pids", ...] (see generated template file for whole content) | The files and dirs of the project to exclude from the include option |
includes | ["app", "bin", "config", ...] (see generated template file for whole content) | The files and dirs of the project to include in the jar file |
jar_name | < Name of project dir >.jar | The name of the generated jar file |
jruby_version | A valid JRuby version from file '.ruby-version' or the current most recent version of the Gem 'jruby-jars' | The version of the JRuby runtime to use |
Bug reports and pull requests are welcome on GitHub at https://github.com/rammpeter/jarbler.
Any feedback about usage experience or missing features is also appreciated.
The gem is available as open source under the terms of the MIT License.
FAQs
Unknown package
We found that jarbler demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.