Fork me on GitHub

JRuby/Gradle 1.0 Announced

Less than one year after the JRuby/Gradle project was founded, we are pleased to announce the release of 1.0 for the core plugins, which includes the base plugin, the jar plugin and an alpha version of the war plugin. This release marks the stability of the core task and configuration APIs for the lifetime of the 1.x branch of development.

Notable Features

This release includes a number of notable features which can help developers build high quality Ruby projects, based on JRuby.

  • Defaulted to the major milestone release: JRuby

  • Native Java dependency resolution via Gradle’s built-in support of Maven repositories and with Gem dependency resolution via a proxy.

  • Execution of local Ruby script via the JRubyExec task

  • Execution of scripts provided by a gem dependency, e.g. rspec via JRubyExec task

  • Support for distinct configurations to isolate dependencies, even JRuby versions, between JRubyExec tasks.

  • Similar support for different configurations between JRubyJar tasks

Project History

The JRuby/Gradle project was originally started to address the challenges faced when attempting to build complex Ruby applications based on JRuby. With such applications it is desirable to leverage the vast libraries available to JVM-based languages, as well as many of the user-friendly gems built by Ruby developers

After trying to make multiple tools, which weren’t designed to support non-Java projects, work with Ruby R. Tyler Croy started building a prototype with Gradle to package up a JRuby application as a jar. Shortly after publishing the prototype, Schalke W. Cronje discovered the fledgling project and with his Gradle development experience helped bring it from a weekend hack project to a well-tested, well-structured set of Gradle plugins. Eventually Christian Meier, whose link:] code helped make the project originally possible, joined the team to help improve support in JRuby itself for the different embedded operating modes that the JRuby/Gradle toolchain makes use of.

improve this page