複数の BUCK モジュールで構成されるプロジェクトがあります。各モジュールは、同じ注釈プロセッサを使用して、注釈付きクラスごとに 1 つのファイルを生成します。簡単にするために、注釈付きのクラスごとに次のようにします。
package com.myproject.module1;
@Marker
public class SomeFoo {
// ... code ...
}
単一のクラスが同じパッケージに生成されます。
package com.myproject.module1;
@Generated
public class SomeFoo$$Marker {
// ... generated code ...
}
このようなモジュールが 2 つあるmodule1
とします。module2
最後に、module3
上記の両方のモジュールに依存する があります。
このモジュールには別の注釈が含まれています。
package com.myproject.module3;
@MarkerCollector
public class Bar {
}
以前に生成されたすべてのファイルを参照するクラスを生成するために、同じ注釈プロセッサ (別のものでもかまいません) を使用しようとしています ( @Marker
.
問題は、注釈プロセッサがモジュールごとに個別に実行されることです。module3 で実行すると、注釈プロセッサは他のモジュールで生成されたファイルを「認識」しません。
注釈プロセッサFiler
を使用してリソース ファイルを作成し、生成されたすべてのファイルのクラス名を書き込もうとしましたが、このリソース ファイルもモジュールごとに作成されます。
異なるモジュールから生成されたコードを集約/アクセスする最良の方法は何ですか?