annotation_processors(降压)的文档

documentation for annotation_processors (buck)

与此票相关Parameters for annotation processors are disabled and undocumented

我们如何使用 annotation_processorsannotation_processor_deps

我在示例 Android 应用程序中使用领域并且没有注释(对于 @RealmClass@RealmMoudule)通过 buck 构建时应用程序崩溃(如果通过 gradle 构建则正常工作)。

万一有人无意中发现了这一点,在 buckbuild 中使用注解处理器的方法是:

  • annotation_processors 处理器 class 的不可变列表。您可以通过 META-INF/services/javax.annotation.processing.Processor 文件中使用的包名称来识别它,例如:Realm Processor
  • annotation_processor_deps 是一个不可变的规则列表(通常是 prebuilt_jarandroid_prebuilt_aar)持有注解处理器

使用 Realm Java

的项目的示例降压构建文件
prebuilt_jar(
  name = 'realm',
  binary_jar = 'libs/realm-android-0.82.2.jar'
)

android_library(
  name = 'main-lib',
  srcs = glob(['app/src/main/java/com/yourcompany/project/**/*.java']),
  deps = [
    ':supportv4',
    ':all-jars',
    ':build-config',
    ':res',
  ],
  annotation_processors = ['io.realm.processor.RealmProcessor'],
  annotation_processor_deps = [':realm']
)