Monday, May 2, 2011

Poison for Groovy

昨夜、Gjスクリプトのテスト中にgroovy.batのバグにぶち当たりました (Gjスクリプトは実行可能なjarファイルを簡単に作るために僕が書いたものです。詳しくは以前のポストを見てください)。groovy.batが * (アスタリスク)を含んだコマンドライン引数を扱えないのです。

例えば、次のコマンドを入力するとgroovy.batは応答しなくなります。
----
groovy Foo.groovy "*"
----
あるいは
----
groovy -e "println '*'"
----

GroovyMainに直接渡した時は動作します。
----
java -cp "%GROOVY_HOME%\embeddable\groovy-all-1.8.0.jar" groovy.ui.GroovyMain -e "println '*'"
*
----

既知バグかどうか探したら、GROOVY-3043を見つけました。幸運なことにこのバグは2年前に修正されていました。よしよし、そういうことなら... って修正済み? いやちょっと、まだバグってますよ。

奇妙なことに修正済みの (不確か、とりあえず動いてるように見える) startGroovy.bat (groovy.batから呼ばれ、コマンドライン引数をパースする)はGROOVY-3043に添付されています。なぜこれがいまだに提供されていないのかはわかりません。

このバグをGROOVY-4805に新しい問題として報告しました。僕が書いたパッチも提供したのでWindows NT系のユーザの方はそれを当てるのもよいと思います。いずれにせよ、できるだけ早くこのバグが修正されることを望みます。

No comments:

Post a Comment