我们有一个使用jdo enhancement的gradle项目。基本上是:
增强器对Java编译器生成的字节码进行后处理,添加必要的字段和方法来实现所需的持久性功能。
当我尝试使用open clover plugin添加测试覆盖时 - 我的测试开始失败。这是因为OpenClover使用source code instrumentation。
OpenClover将'jdo-enhanced'类作为备份移动 - 并构建了自己的类的检测版本,因此失去了所有jdo增强功能。
鉴于这种困惑,是否可以一起使用openClover(源代码检测)和jdo增强?它在理论上是否可能?
答案 0 :(得分:0)
与三叶草检测不同,JDO增强会修改字节码,而不是源代码。
因此,这些任务 可以序列化。
cloverInstrumentation -> compileCloverJava -> runJDOEnhancer
假设您有一个方法runJdoEnhancer,它将sourceSet作为输入,这应该可以工作:
compileCloverJava.doLast {
runJdoEnhancer(sourceSets.clover, configurations.cloverRuntime)
}