hudson-cliテラスゴス

v1.305どころかv1.306が出てたから早速試した。予想通りCLIにはgroovyコマンドが追加されていたよ。
試しにカレントディレクトリに,こんな内容のファイル(仮に"sample.groovy"とする)を作って,

new File(".").eachFile { println it }


こんな感じにコマンドライン叩いて実行だ。

$ java -jar hudson-cli.jar -s http://localhost:8080/ groovy sample.groovy


さっくり実行されるけど,これが動くってすげーオドロキなのよ。だって,groovyコマンドの実体(GroovyCommand)はあっち(Hudson)側にあって,それがこっち(CLI)側のリソース(sample.groovy)読み込んでんだよ!?やっぱ超スゲェ!鼻血出るッ!!


ps.
そうそう,残念な事にCLI側の標準入力使うやり方はうまく行きませんでした。

$ java -jar hudson-cli.jar -s http://localhost:8080/ groovy -
"-" is not a valid option
java -jar hudson-cli.jar groovy args...
 SCRIPT : Script to be executed. File, URL or '-' to represent stdin.

#OSXのbash(3.2.17)とzsh(4.3.4)で試しました。


どうもargs4jのオプション解析に阻まれているようで,ハイフン(-)を引数として認識させる方法がわかりませんでした。一応,「'-' "-" \-」など思いつく限りを試してみましたが,せいぜい「Unable to find a sciprt XXX」となる程度でした。
安易な解決策は標準入力用のキーワードをハイフン(-)以外にすることだと思うんですが,どんなもんでしょ?>川口さん(id:kkawa