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

Using Sonar in Ant only for code coverage with JaCoCo (no static analysis)

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

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

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

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

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

您不能 运行 只是完整分析的一小部分。

想象一下这是可能的:假设每小时一次 "coverage only" 作业 运行 更新我的项目的覆盖范围。

  • 在 8 a.m。我从一个具有 6 个 LoC 和 50% 覆盖率的项目开始。
  • 在 9 a.m。我的项目有“6 LoC”和 20% 的覆盖率
  • 10a.m:“6 Loc”和 10% 覆盖率。

有人在删除测试吗?或者添加新的、未发现的 LoC?

我无法知道,因为我的部分分析使 SonarQube 项目处于糟糕的状态。

这就是为什么无法运行只分析一部分的原因。