Groovy
gradle

Groovyスクリプトを配布する1つの方法

More than 1 year has passed since last update.

はじめに

Groovyでスクリプトを書いたのだけれど、どうやって配布しましょうか?というのはあると思います。今回は、GradleのApplicationプラグインを使った方法を考えてみます。

GroovyスクリプトをGradleでビルドする

まず、GroovyスクリプトをGradleでビルドできる様にしましょう。
次の様なGroovyスクリプトを作成したとします。

Hello.groovy
println "Hello ${args.join(',')}."

このファイルをプロジェクト(プロジェクトの親フォルダ名はGroovyHelloScriptとします)のsrc/main/groovyに置いて、Gradleでビルドする様にします。

build.gradle
apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.4.0'
}

Groovy 2.4.0リリース記念(笑)ということで、Groovy 2.4.0を使う様にしています。

Applicationプラグインを追加する

GradleのApplicationプラグインの良い所は、

  • Windows/Mac/Linuxで実行可能なスクリプトを作成してくれる
  • 実行に必要なjarをまとめてくれる

だと思います。

先ほどのGradleビルドスクリプトに、Applicationプラグインを追加してみましょう。

build.gradle
apply plugin: 'groovy'
apply plugin: 'application'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.4.0'
}

mainClassName = "Hello"

GradleのGroovyプラグインでビルドすると、Groovyスクリプトをコンパイルしたクラスファイルが作成されますので、このGroovyスクリプトのクラスをmainClassNameに指定してあげれば実行できる筈です。

実行可能なファイルを作成して、実行してみる

実行可能なファイルを作成してみます。
gradle installAppを呼ぶと、build/install/GroovyHelloScriptに実行可能なファイルが作成されます。binフォルダの実行スクリプトをGroovyHelloScript Groovy Java Scala JRubyの様にして実行すると、、、正しく実行されると思います。

実行可能ファイルをZIPにまとめる

後は、配布できる様に実行可能ファイルをZIPにまとめます。
gradle distZipを呼ぶと、build/distributionsにZIPファイル(GroovyHelloScript.zip)が作成されます。
このZIPファイルを配布して展開すれば、Javaが入っている環境で実行できる様になります。

最後に

Groovyスクリプトを、GradleのGroovyプラグインとApplicationプラグインを使って配布できるという事が分かりました。
これを使えば、Groovyスクリプトで作成した、ちょっとしたツールを配布できますね。