はじめに
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スクリプトで作成した、ちょっとしたツールを配布できますね。