如何声明注释处理器 在 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"))
…
}
我的 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"))
…
}