Hello我的开发人员,
我正在尝试从Gradle切换到Buck并且因为需要注释处理而无法使用Dagger和Butterknife进行设置。
我找到了一些链接和教程,但它们已经有几年(约4年)了,我认为可能会有更新的做法。
这就是我所看到的: https://github.com/ryan-endacott/android-buck-dagger-starter
提前致谢, 帕特里克
答案 0 :(得分:2)
Buck支持基于Java的规则(包括android_library
)的注释处理。看一下如何在buck存储库中使用Immutables(link到源代码):
java_library( name = "immutables", exported_deps = [ ":builder", ":value", ], visibility = [ "PUBLIC", ], ) prebuilt_jar( name = "value", binary_jar = "value-2.5.6.jar", source_jar = "value-2.5.6-sources.jar", licenses = [ "COPYING", ], ) prebuilt_jar( name = "builder", binary_jar = "builder-2.5.6.jar", source_jar = "builder-2.5.6-sources.jar", licenses = [ "COPYING", ], )
java_annotation_processor( name = "processor", isolate_class_loader = True, processor_class = "org.immutables.value.internal.$processor$.$Processor", visibility = [ "PUBLIC", ], deps = [ ":immutables", ], )
java_library( name = "target", plugins = [ "//third-party/java/immutables:processor", ], deps = [ ... ], ... )
降级存储库contains添加此注释处理器的自定义规则(java_immutables_library
),以便开发人员不需要在每个目标上指定插件。您可以使用类似的方法。