Doma 1.7.0 + Doma Tools 1.7.1 + Java 7 + Eclipse 3.7

Java 7やEclipse 3.7がリリースされたということで稼動確認してみました。

DomaDoma Toolsも動作としては特に問題ありませんでした。

ただjavac(実際にはAntから試しました)でDomaを利用したアプリをコンパイルしてみると次の警告メッセージが表示されました。

  [javac] 警告:注釈プロセッサ'org.seasar.doma.internal.apt.DomainProcessor'から-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています
  [javac] 警告:注釈プロセッサ'org.seasar.doma.internal.apt.EnumDomainProcessor'から-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています
  [javac] 警告:注釈プロセッサ'org.seasar.doma.internal.apt.EntityProcessor'から-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています
  [javac] 警告:注釈プロセッサ'org.seasar.doma.internal.apt.DaoProcessor'から-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています
  [javac] 警告4個

うーん、DomaはJava6で作っているので仕方ないのかなぁと思います。Java6のAPIでは、Java7をサポートすることを表現できないからです(javax.lang.model.SourceVersionはバージョンを表す列挙型を指定できるが、Java6のAPIではJava6までのバージョンしか指定できない)。
注釈プロセッサを前バージョンのJavaで作っていてもそれより上位のバージョンをサポートしていることを示せるように、SourceVersionは列挙型ではなくバージョンを表す文字列を受け入れるようになっているべきだったんじゃないかと思います。


上記の警告は実質的には無視できるもので、Domaの動作には影響しません。次のリリースではドキュメントにも記述しておこうと思います。


ところで、EclipseのJava7対応JDTはBETAバージョンのもので試したんですが、今見たら、もうベータのフェーズじゃないぜって言っていますね。