如何声明注释处理器 在 gradle 模块内部

How to declare annotation processor witch is inside of gradle module

我的 Android 项目中有模块。其中一个模块(例如模块 A)使用另一个模块(模块 B)作为依赖项:

dependencies {
    api project(':moduleB')
}

而且我还有 apt 和旧的 gradle plagin。现在,我从 gradle 个文件中删除 apt,升级插件版本并得到错误:

Annotation processors must be explicitly declared now.  The following 
dependencies on the compile classpath are found to contain annotation 
processor.  Please add them to the annotationProcessor configuration.
  - moduleB.jar (project :moduleB)

如果我们使用一些外部依赖项,我们会像这样(例如)来解决这个问题:

compile 'com.google.dagger:dagger:2.8'
annotationProcessor 'com.google.dagger:dagger-compiler:2.8'

但是当注释处理器位于 gradle 模块中时,我需要如何处理我的案例?能解释一下吗,因为我对这方面了解不深,一般都是简单的走这几行

compile 'com.google.dagger:dagger:2.8'
annotationProcessor 'com.google.dagger:dagger-compiler:2.8'

来自图书馆提供商的资料库。我试图研究这个案例,但没有找到任何类似的东西。

project(':moduleB') 只是一种指定项目间依赖关系的方法,就像您使用 "full" 坐标 (com.google.dagger:dagger:2.8) 一样。因此,要将另一个模块用作注释处理器,只需使用

dependencies {
    …
    annotationProcessor(project(":moduleB"))
    …
}