Pio*_*zki 5 android gradle annotation-processing kotlin kapt
在 Kotlin 1.3.30 中添加了对增量注释处理的支持:https : //blog.jetbrains.com/kotlin/2019/04/kotlin-1-3-30-released/ 根据文档:
请注意,在当前实现中,使用任何非增量注释处理器或依赖项的 ABI 的更改(到目前为止,包括修改内部声明)将导致给定模块的非增量注释处理。
我有一个带有多个注释处理器的多模块项目。其中只有一些是增量的。据我所知,有些模块仅使用增量注释处理器。
我的问题是:有没有办法检查是否发生了增量注释处理?例如,Gradle 中是否有任何特定的控制台日志表明这一点?我想确认实际上使用了增量注释处理。
我能够通过添加来确定
kapt.verbose=true
Run Code Online (Sandbox Code Playgroud)
在gradle.properties根项目。这会导致在例如更改公共方法时在控制台中打印以下内容:
Javac options: {}
[incremental apt] Changed files: [/Users/me/workspace/my-project/core/common/build/tmp/kapt3/stubs/foo/bar/ChangedClassName.java]
...
[INFO] Need to discovery annotation processors in the AP classpath
[INFO] Annotation processors: toothpick.compiler.factory.FactoryProcessor, toothpick.compiler.memberinjector.MemberInjectorProcessor
[INFO] Processing java sources with annotation processors: /Users/me/workspace/my-project/core/common/build/tmp/kapt3/stubs/foo/bar/ChangedClassName.java
[INFO] Annotation processing complete, errors: 0, warnings: 0
[INFO] Annotation processor stats:
[INFO] IncrementalProcessor: total: 61 ms, init: 1 ms, 3 round(s): 59 ms, 0 ms, 1 ms
[INFO] IncrementalProcessor: total: 1 ms, init: 1 ms, 3 round(s): 0 ms, 0 ms, 0 ms
Run Code Online (Sandbox Code Playgroud)
这是使用增量注释处理的时候。在进行干净的构建时,会打印:
Javac options: {}
[incremental apt] Changed files: []
...
[INFO] Need to discovery annotation processors in the AP classpath
[INFO] Annotation processors: toothpick.compiler.factory.FactoryProcessor, toothpick.compiler.memberinjector.MemberInjectorProcessor
[INFO] Processing java sources with annotation processors: [ALL THE FILES IN THE MODULE ARE LISTED HERE]
[INFO] Annotation processing complete, errors: 0, warnings: 0
[INFO] Annotation processor stats:
[INFO] IncrementalProcessor: total: 124 ms, init: 1 ms, 3 round(s): 122 ms, 1 ms, 0 ms
[INFO] IncrementalProcessor: total: 1 ms, init: 0 ms, 3 round(s): 1 ms, 0 ms, 0 ms
Run Code Online (Sandbox Code Playgroud)
Toothpick 是我正在使用的 DI 框架,因为 2.x 支持增量注释处理。
如果有一个不是增量的注释处理器,它也会打印,例如:
[INFO] Incremental KAPT support is disabled. Processors that are not incremental: butterknife.compiler.ButterKnifeProcessor.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6131 次 |
| 最近记录: |