如何在 Buck 中使用自定义注释处理器?

How to use custom Annotation Processors with Buck?

如标题所述 - 我想使用带有 Buck 的自定义 Java 注释处理器(例如 Dagger 1 / 2)。查看文档没有显示任何 Java(或 Android)相关构建规则的任何明显的 annotation-processing 相关属性,而且我也找不到这种情况的任何示例。

虽然我确实在 GitHub 上找到了 this issue thread,但最近没有任何有意义的答案。

这是巴克还不支持的东西吗? 如果没有,有人找到解决方法了吗?

Coneko 将您指向该问题中的相关代码。 Buck 中的每个构建规则都有一个带有 Arg class 的描述,描述规则采用的参数。在java_library的情况下,有annotation_processor_depsannotation_pocessor_paramsannotation_processorsannotation_processor_only

  • annotation_processor_deps - 运行 注释处理器
  • 所需的依赖集
  • annotation_pocessor_params - 传递给注释处理器的参数列表
  • annotation_processors - 注释处理器
  • annotation_processor_only - True 如果这个库只是一个注解处理器