■
2/13 に http://dist.codehaus.org/groovy/distributions/ から Groovy の 最新版 JSR-05 がダウンロードできるようになりました。
早速、BkGroovy の動作確認をしてみたところ、意図した動きをしてくれている用です。
特に JSR-05 で groovy.lang.GroovyClassLoader クラスがどのように変更されるかが気がかりだったのですが、コードもすっきりとなっていて、古いバージョンの BkGroovy1.0 でも、また以前のように動くようになってくれていました。
1.0.1 の変更は、あまり納得できる変更ではなかったので、BkGroovy 1.0 のコードに戻そうと考えているところです。
JSR-04 でも確認していたのですが、一点気になる点が残っていて、それは ログの設定を FINER 以上に設定すると、NullPointerException が発生することです。
情報: java.lang.NullPointerException at org.codehaus.groovy.runtime.MetaClassHelper.getClassName(MetaClassHelper.java:729) at org.codehaus.groovy.runtime.MetaClassHelper.logMethodCall(MetaClassHelper.java:904) at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:472) at org.codehaus.groovy.runtime.Invoker.invokeStaticMethod(Invoker.java:184) at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:119) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethod (ScriptBytecodeAdapter.java:115) at Sample01.<init>(Sample01.groovy) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.becky.bkj.groovy.BkGroovy.loadScripts(BkGroovy.java:38) at org.becky.bkj.groovy.BkGroovyFactory.createEventHandler(BkGroovyFactory.java:61) at org.becky.bkj.BkJava.loadConfig(BkJava.java:78)
というログが出力されます。(Sample01 のところはスクリプト毎に異なります。また、一部意図的に改行している行があります。)
この点は現在、調査中です。