#はじめに
Groovyでスクリプトを書いたのだけれど、どうやって配布しましょうか?というのはあると思います。今回は、GradleのApplicationプラグインを使った方法を考えてみます。
#GroovyスクリプトをGradleでビルドする
まず、GroovyスクリプトをGradleでビルドできる様にしましょう。
次の様なGroovyスクリプトを作成したとします。
println "Hello ${args.join(',')}."
このファイルをプロジェクト(プロジェクトの親フォルダ名はGroovyHelloScript
とします)のsrc/main/groovy
に置いて、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プラグインを追加してみましょう。
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スクリプトで作成した、ちょっとしたツールを配布できますね。