There is no point in using external java processes to compile ruby files when running inside JRuby. Directly calling JRubyBatchCompiler#compile_dirs allows simplifications of the code and drastically reduces the time needed to compile the ruby files.
The :jruby_jar option is no longer used since we no longer use an external java process to compile the files.
Now that JRubyBatchCompiler can only be called directly while running in JRuby, there is no need to offer an incomplete command-line interface.
This change allows changing the default values of options like :target_jvm in a single place: configuration.rb.
The documentation uses the YARD format.
Stop treating non-compiled source files as a special case of source file type. Non-compiled source files are now processed in a separate code path. This simplify the compilation code and allows Rake to keep track of the copied files. Non-compiled source files are now copied by Rake, no longer by Rawr::JRubyBatchCompiler.
Support for boolean configuration options like 'compile_ruby_files'. As Ruby does not have a generic boolean type, we simulate it with a set of acceptable types: TrueClass and FalseClass.
Display why a certain value cannot be accepted for an option, for example because it is an array when an array is not expected.
The 'compile_ruby_files' option can be set to 'true' or 'false'. As Ruby has no generic boolean type, we simulate Boolean with set made of TrueClass and FalseClass.
An option can accept more than a single type of values.
The JAR file specification requires META-INF and MANIFEST.MF to be the first two entries of the zip file. Otherwise the zip file will not be recognized as a JAR file and signing will not work.