我有一个项目,它使用kapt进行注释处理和代码生成(基于注释).它适用于主要来源,但不适用于测试来源.
一些来源(例如how to use kapt in androidTest scope)建议运行gradle kaptTest,但这也不起作用.它将任务报告为“最新”,即使在干净之后也是如此.也许这个建议对于android来说是独一无二的.
输出中唯一奇怪的事情是:
> Task :example:compileKotlin
Using kotlin incremental compilation
w: [kapt] Sources output directory is not specified, skipping annotation processing
但正如您所看到的,这不是测试源,而是主要来源和注释处理器应用于那些.
我在注释处理器中添加了一个打印输出.它确实显示为compileKotlin,但不适用于compileTestKotlin.
那么,让kapt在测试源上工作的神奇技巧是什么?
PS:我想有人会要求我的build.gradle.它与我链接的示例中的相同,因此如果您可以使其适用于示例,我可以集成到我的构建文件中.