backport175 1.0 & Eclipse plugin 1.0.2 リリース

via オレンジニュース
すっかり技術ネタのなくなったこの日記,オレンジニュースに取り上げてもらえたなんて,いったいいつ以来なのだろう (苦笑).
ともあれ (JW),本体はともかく Eclipse plugin の方もバージョンアップしてます.びっくり.放置プレイとか書いちゃってごめんなさい>開発者の皆様


そんなわけで (どんなわけで?),06/02 の問題点がどうなったか確認.

  • backport175
    • デフォルト値・・・OK \(^o^)/
    • アノテーションの文字列値に日本語・・・NG (;_;)
  • Eclipse plugin
    • Update サイト・・・OK \(^o^)/
    • デフォルトじゃないパッケージ・・・OK \(^o^)/

ということで,意外にも Eclipse plugin の方が進展あり.そうですか,ちゃんと頑張って開発してくれてるんですね.
となると,backport175 は忘れようって書いたのも取り消して,なんとか日本語の値を書けるようにしたいなぁ.


そんなわけで (どんなわけで?),調べてみました.たいした量じゃなさそうだし,どうせ InputStream を使ってるんだろうとか甘く考えて.
...
と思ったらそうでもなくて,ちゃんと Reader 渡してるみたい.っていうか,JavaDoc 解析してるところは同じく Codehaus にある QDox とやらを使ってるのね.そこまでは文字化けすることもなくちゃんとしてるっぽい.
で,その先をたどったところ,JavaCC に遭遇.一瞬ひるみましたが,こいつの Lexer (JavaCC 用語でなんというか知らないけど Lex 相当な所) で悲鳴を上げていることが判明.
軽くググったら,JavaCC のデフォルトは ASCII しか扱わないようになっていて,そうでない場合は UNICODE_INPUT なるオプションを指定しないといけないらしい.んで,それは Ant タスクでも指定できるということで,backport175 の build.xml の 177 行目から始まる jjtree というターゲットを以下のように修正.

    <target name="jjtree" depends="init">
        <jjtree target="${src.dir}/main/org/codehaus/${name}/compiler/parser/ast/grammar.jjt" outputdirectory="${src.dir}/main/org/codehaus/${name}/compiler/parser/ast" javacchome="${env.JAVACC_HOME}"/>
        <javacc target="${src.dir}/main/org/codehaus/${name}/compiler/parser/ast/grammar.jj" outputdirectory="${src.dir}/main/org/codehaus/${name}/compiler/parser/ast" javacchome="${env.JAVACC_HOME}" unicodeinput="true"/>
    </target>

179 行目の javacc タスクに unicodeinput="true" を追加しただけですが.
この jjtree ターゲットを実行すると,文法ファイルから Java のソースが生成されます.そして all ターゲットを実行すると,新しい backport175-1.0.jar ができあがり.
この Jar を <ECLIPSE_HOME>/plugins/org.codehaus.backport175.ide.eclipse.core_1.0.2/lib の下にコピーします.
そして Eclipse を再起動.
...
エビちゃんもトリプルバリア〜もバッチリ!! \(^o^)/


さて,これを本家に報告したいわけですが...
英語だめぽなおいらには無理ぽ.(;_;)
どなたか英語が堪能な方,報告して頂けないでしょうか?