在Ant中使用Sonar仅用于使用JaCoCo进行代码覆盖(无静态分析)

时间:2016-05-06 20:15:08

标签: java ant sonarqube jacoco

我在Jenkins中创建了一个对我的存储库中的所有项目执行sonnar-runner的作业。这项工作独立于代码覆盖范围,每天运行几次。

另一方面,我希望代码覆盖在构建时发生(使用JaCoCo)并使用Ant将报告导入Sonar。

我设置了我的环境并将JaCoCo和Sonar插件添加到Ant lib目录中。当我运行Ant目标时,我可以在XML和HTML中看到JaCoCo本地的结果。

我想要的只是将这些结果上传到远程SonarQube实例。但是,在设置Sonar属性并将<sonar:sonar>添加到我的build.xml之后,我意识到Sonar似乎正在针对我的项目运行静态分析。

如何将Ant设置为仅运行项目的代码覆盖率?

1 个答案:

答案 0 :(得分:2)

您无法只运行完整分析的一小部分。

想象一下,这是可能的:让我们说,每小时一次“仅覆盖”工作会更新我项目的覆盖范围。

  • 早上8点,我开始了一个6 LoC和50%覆盖的项目。
  • 上午9点,我的项目有“6 LoC”和20%的覆盖率
  • 上午10点:“6 Loc”和10%的覆盖率。

是否有人正在删除测试?或者添加新的未覆盖的LoC?

我无从得知,因为我的部分分析使SonarQube项目处于不良状态。

这就是为什么没有办法只运行部分分析的原因。