我有一个由几个BUCK模块组成的项目。每个模块使用相同的注释处理器为每个带注释的类生成单个文件。为简单起见,对于每个带注释的类:
package com.myproject.module1;
@Marker
public class SomeFoo {
// ... code ...
}
将在同一个包中生成一个类:
package com.myproject.module1;
@Generated
public class SomeFoo$$Marker {
// ... generated code ...
}
假设我有两个这样的模块:module1
和module2
最后,我有一个module3
,它依赖于上述两个模块。
此模块包含另一个注释:
package com.myproject.module3;
@MarkerCollector
public class Bar {
}
我正在尝试使用相同的注释处理器(也可以是单独的注释处理器),以生成引用所有先前生成的文件的类(由于标有@Marker
的类。
问题是注释处理器为每个模块单独运行 ,当在module3中运行时,注释处理器不会“看到”在其他模块中生成的文件
我尝试使用注释处理器的Filer
创建资源文件并编写所有生成文件的类名,但此资源文件也是如此,每个模块。< / p>
从不同模块聚合/访问生成代码的最佳方法是什么?
答案 0 :(得分:0)
如果您正在使用gradle,则可以创建一个JavaCompile
任务,并像here一样配置它。我的项目针对的是android,因此您将看到variant
,只需确保将classPath放在那里?