image::https://travis-ci.org/jruby-gradle/jruby-gradle-plugin.svg?branch=master["Build Status", link="https://travis-ci.org/jruby-gradle/jruby-gradle-plugin"] image::https://api.bintray.com/packages/jruby-gradle/plugins/jruby-gradle-jar-plugin/images/download.svg[link="https://bintray.com/jruby-gradle/plugins/jruby-gradle-jar-plugin/_latestVersion"] == Getting Started === Compatibility This plugin requires link::http://gradle.org[Gradle] 4.9 or better === Installing .build.gradle [source, groovy] ---- buildscript { repositories { jcenter() } dependencies { /* check jruby-gradle.org for the latest release */ classpath "com.github.jruby-gradle:jruby-gradle-jar-plugin:[1.1.4,2.0)" } } apply plugin: 'com.github.jruby-gradle.jar' ---- ==== Implicitly loaded plugins Currently, the `jar` plugin only depends on the link:/base/[base] plugin of the same version as the jar plugin and the `java-base` plugin included with your version of Gradle. == Tasks === JRubyJar .build.gradle [source, gradle] ---- jrubyJar { /* All methods and properties from `Jar` */ from 'app' } ---- ==== Types of jars * <> * <> [[runnable]] == Runnable Jars .build.gradle [source, gradle] ---- jrubyJar { // tell the plugin to pack a runnable jar initScript runnable() // Use the default bootstrap class (can be omitted) defaultMainClass() // Make the JAR executable by supplying your own main class mainClass 'my.own.main' } ---- [[library]] == Library Jars A library jar isn't really much more than a container which includes the configured gems and jar dependencies inside of the packaged `.jar` file. .build.gradle [source, gradle] ---- jrubyJar { // tell the plugin to pack a runnable jar (no bootstrap script) initScript library() } ----