2016-04-06 12 views
1

私はスキャンして、現在開いているJavaプロジェクトのASTを変更するEclipseプラグインを開発していますから、Javaのアノテーションを貢献。Eclipseプラグイン

プラグインを使用するプロジェクトで既知のアノテーションとして表示されるJavaアノテーションを作成したいとします。注釈のRetentionPolicySOURCEになります(そのためには、コンパイラによって破棄された)、まだプラグインは、この注釈でマークされたメソッドを(ASTを使用)を識別し、それに応じてそれらを処理することができるようになります。例えば

:ASTをトラバースしながら、

@SkipAnalysis 
public void foo() {...} 

この注釈は、プラグインによって解析され、まだそれはコンパイラのための値を保持していません。

私のプラグインは、ワークスペース内の開いているプロジェクトにアノテーションを投稿する方法はありますか?

答えて

0

いくつかの調査の後で、アノテーション(および他のクラスまたはインタフェース)はビルドパスを介してのみ提供できるため、これは不可能であることが判明しました。 Eclipseプラグインはビルドパスを変更できますが、プロジェクトに独自のソースコードを提供することはできません。

注釈を含むライブラリプロジェクトを作成し、プラグインの機能を使用してビルドパスを変更して、そのライブラリをビルドパスに追加することができます。しかし、これは面倒であり、不要な依存関係をプロジェクトに追加し、プロジェクトで作業している他のすべての開発者にライブラリをコピーしないと、コンパイルエラーが発生する可能性があります。例外は、プロジェクトがビルドオートメーションシステム(MavenやGradleなど)を使用していて、ライブラリがパブリックリポジトリ(Maven Centralなど)に格納されている場合、すべてのIDEでプロジェクトをインポートする各ユーザがそのライブラリをダウンロードする。再び - 可能ですが、面倒です。