如何将Maven多项目构建中的离线JaCoCo执行文件集成到SonarQube中



我有一个Maven多项目构建。单元测试使用PowerMock 1.6.6,我已经使用"离线"过程为每个模块生成了单独的Jacobo(0.7.8)exec文件。我还有一个模块,它使用"报告聚合"生成一个JaCoCo报告。

我现在正在尝试使用声纳扫描仪2.8与SonarQube 5.6.5集成。

使用这个文档页面,我自然地构建了一个命令行,将"sonar.jaco.reportPaths"属性设置为每个子模块中"jacoco.exc"文件的逗号分隔路径列表。这似乎没有任何效果。我在输出中看到一条消息,上面写着"INFO: JaCoCoSensor: JaCoCo report not found : <mycurrentdirectory>targetjacoco.exec"。

因此,我将属性"sonar.jaco.reportPath"设置为相同的逗号分隔值。这至少有效果,但它混淆了扫描仪,因为它显然预计这是一个单一的位置。

然后,我尝试将该属性设置为几个"jacoco.exec"文件中的第一个。这至少完成了,但覆盖数据很少。

如何继续?我是应该以某种方式使用Jacobo的"合并"目标将我的所有Jacoco.exec文件合并到一个文件中,并指定它,还是有另一个未记录的属性允许文件的路径列表?

我验证了广告中的"sonar.jaco.reportPaths"属性仅适用于SonarQube 6.2或更新版本(文档显然已更新以反映这一点)。

因此,我继续实现"合并",为所有模块指定文件集。需要一段时间才能为该文件集列表获得正确的数据(与许多框架一样,当您的配置数据表示不存在的文件或组件时,Maven通常什么都不说)。

最新更新