-焼肉堪能

焼肉はうまうまでした。6月10日までキャンペーンなので、おそらくもう一度以上は行ってしまうでしょう。今日は休刊日予定でサッカー見ながらプラグインでも仕上げるかなと思ってましたが、帰りが遅くなって眠いのでアウトです。プラグインは、もうほぼできてますが、最後に気になっているSAXパースの確認とRTTIのリファクタ再調整とOGNLのExtensionsへの集約をきちんとした後に出します。出す出すと言ってどれだけ時間が経ったか。。。それだけ読みきれないハマリどころがあったということです。coreのプラグインはAPI的な塊が3つあって、XMLパースビルド・RTTI・OGNLです。それぞれ汎用に作ってあって、それぞれそこそこは内容があると思います。お楽しみに。

-コンストラクタ

お昼休みにプラグインのテストしていたら、OGNLでコンストラクタのパターンを対応していないことを見っけ。備忘録。ちょっと調べたら、OGNL3の新機構、Extensionsに全部集約されている。Accessorとか作らなくてもここでやれる。IRtti以外のクラスがコンテキストに出られると困るので、たいした手間じゃないですから、RTTIアクセス機能をExtensionsに集約しようと思います。

-プラグイン開発者

Ecipseプラグインを作ってる人ってどのぐらいいるんでしょうか。他にしってるのはagtさんぐらい。今回、S2プラグインを作っている過程で(狭い範囲ですが)妙に詳しくもなってきましたが、見切れてない領域も多いので情報交換したいです。どうしたものかな。

-二重ビルド回避

ソースに加え、出力フォルダにコピーされたファイルまでビルドに行ってしまう件ですが、とりあえず以下の判定コードを通して回避しました。

public static boolean isJavaSourceFolder(IFolder folder) {
  return JavaCore.create(folder) != null;
}

出力フォルダはJavaElementではないので、このJavaCore#create(IFolder)でnullを返します。引数にソースフォルダが入ればIPackageFragmentもしくはIPackageFragmentRootという、Eclipseのパッケージエクスプローラー上で茶色い小包みたいなアイコンで表示されるものになりますです。ということで、また夜に続きをば。昨日痛飲したので今日は休肝日予定。