3

我们升级到 Sonar 5.2。但是现在,处理声纳报告的任务失败了:

2015.12.21 16:08:20 ERROR [o.s.s.c.t.CeWorkerRunnableImpl] Failed to execute task AVHFFR9SqYJURQAYr8yb
java.lang.IllegalArgumentException: There's no changeset on line 59
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125) ~[guava-17.0.jar:na]
    at org.sonar.server.computation.scm.ScmInfoImpl.getChangesetForLine(ScmInfoImpl.java:64) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.scm.DbScmInfo.getChangesetForLine(DbScmInfo.java:69) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.NewCoverageMeasuresStep$NewCoverageCounter.initialize(NewCoverageMeasuresStep.java:391) ~[so

如果我卸载版本为 1.6.3 的 Cobertura 插件,则报告过程可以正常工作。但这对我来说不是解决方案,因为我需要这些报告。有没有人成功地以另一种方式解决了这个错误?

问候

4

1 回答 1

1

两个想法:

1)您的问题似乎与关于 SonarQube's group 的讨论有关。检查你line number="0"cobertura.xml file. 不幸的是,修复计划用于 SonarQube 5.4(即 04/Mar/16。)

2) 根据您与 Cobertura 报告生成相关的确切需求,如果您使用 Maven,您可以尝试使用QualInsight Maven Cobertura 插件来生成您的 Cobertura 报告。这个插件提供了mojo,如果您的构建基于 Maven,您可能正在使用qualinsight-mojo-cobertura-core的 mojo 的替代品。cobertura-maven-pluginQualInsight Maven Cobertura 插件为 UT、IT 和综合整体测试覆盖率生成单独的报告。它生成标准cobertura.xml报告,但也能够将它们转换为SonarQube Generic Test Coverage 插件格式。

也许生成的报告qualinsight-mojo-cobertura-core不会包含导致问题的数据 + 可能使用 SonarQube 的 Generic Coverage 插件而不是 SonarQube 的 Cobertura 插件不会导致您得到异常(它是 9 天前发布的,并针对 SQ 5.2 进行了测试,而 Cobertura 插件是最后一个2014 年 9 月发布)

如果想尝试一下并需要帮助/对此解决方案有疑问,请询问(我是开发人员 QualInsight Maven Cobertura 插件。)

问候,

于 2015-12-23T09:10:42.650 回答