GroovyServを使用したスクリプト実行

最近 Groovy を実行するには GroovyServ が手放せなくなりました。

動作が早い。 スクリプトってコーディングと実行までの繰り返しのスピーディーさが命なので、 GroovyServ は Groovy の悪い点を補ってくれてます。

以下のようなスクリプトを実行すれば簡単にインストールも可能です。(Bash が使える環境で)

1
2
3
4
5
6
7
8
#!/usr/bin/env bash
# インストールフォルダ
INSTALL_DIR_HOME=/usr/share
# ダウンロード&インストール
cd /tmp
wget http://github.com/downloads/kobo/groovyserv/groovyserv-0.1-Linux-i386-bin.zip
unzip groovyserv-0.1-Linux-i386-bin.zip
sudo mv groovyserv-0.1/ "${INSTALL_DIR_HOME}"

環境変数 PATH に bin フォルダを通します。

1
2
3
# INSTALL_DIR_HOME は先程設定した変数を利用
$ INSTALL_DIR_HOME=/usr/share
$ export PATH=$PATH:"${INSTALL_DIR_HOME}"/groovyserv-0.1/bin

動作確認のために、以下のコマンドを実行し、正常に Groovy のバージョンが表示されれば OK。

1
2
$ groovyclient -v
Groovy Version: 1.7.2 JVM: 1.6.0_18

ここまでは GroovyServ のサイトにかかれているとおり。ここまでできれば、以下のようなスクリプトを作成して GroovyServ 経由で実行させることができます。

1
2
#!/usr/bin/env groovyclient
println "test"

通常はシェバングを

1
#!/usr/bin/env groovy

とするところを

1
#!/usr/bin/env groovyclient

とすれば OK。

Bash や Ruby スクリプトを実行したかのように結果が一瞬で返ってきます。 ちょっとだけ手を加えてやって、Cygwin でもほぼ同様の方法で GroovyServ 経由のスクリプト実行が可能。

デメリット

1
#!/usr/bin/env groovyclient

なんて書いてしまうと他の人にスクリプトをそのまま配布できません。

スクリプト上は

1
#!/usr/bin/env groovy

のままの記述で、groovyclient を呼び出すってことをするにはどうしたらよいのか?もう少し勉強します。