README.md in jarbler-0.1.8 vs README.md in jarbler-0.2.0
- old
+ new
@@ -2,12 +2,12 @@
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.
+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.
## Installation
Install the gem and add to the application's Gemfile by executing:
@@ -29,11 +29,11 @@
$ jarble config
### Preconditions
* Dependency handling should be based on Bundler (existence of Gemfile is required)
-* The Ruby app should be capable of running with jRuby
+* The Ruby app should be capable of running with JRuby
* Gems with native extensions should not be used (e.g. sassc)
* if needed for development or test such Gems with native extensions should be moved to the development and test group in the Gemfile.
* Otherwise the created jar file may not be executable on all platforms and Java versions.
## Run the created jar file
@@ -48,25 +48,26 @@
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 if focused on Ruby on Rails applications.<br>
+The default configuration is focused on Ruby on Rails applications.<br>
### Configuration options
-| Option | Default value | Description |
-|-------------------|--------------------------------------------------------------------------------|---------------------------------------------------------------------|
-| executable | "bin/rails" | The ruby file to run at execution of jar file |
-| executable_params | ["server", "-e", "production", "-p", "8080"] | Command line parameters to be used for the ruby executable |
-| excludes | ["tmp/cache", "tmp/pids", ...] (see generated template file for whole content) | The files and dirs of the project to exlude 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 | The current most recent jRuby version | The version of the jRuby runtime to use |
+| 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 | ["tmp/cache", "tmp/pids", ...] (see generated template file for whole content) | The files and dirs of the project to exlude 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 | The current most recent JRuby version | The version of the JRuby runtime to use |
## Troubleshooting
* Set DEBUG=true in environment to get additional runtime information
-* The temporary folder with the extracted app and jRuby runtime files is not deleted after execution if DEBUG is set.
+* The temporary folder with the extracted app and JRuby runtime files is not deleted after execution if DEBUG is set.
### Possible error messages
* Gem::LoadError: You have already activated ..., but your Gemfile requires ... . Since ... is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports net-protocol as a default gem.
* Reason: Mismatch between the version of the local requested gem and the version of the default gem
* Solution: Update the default gems to the requested version