Сонар 5.2 и плагин Cobertura не работает

Мы обновились до 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

Если я удалю плагин Cobertura, который имеет версию 1.6.3, то процесс отчета работает нормально. Но это не решение для меня, потому что мне нужны эти отчеты. Кому-нибудь удалось решить эту ошибку по-другому?

С уважением

1 ответ

Две мысли:

1) Ваша проблема, похоже, связана с этим обсуждением в группе SonarQube. Проверьте, есть ли у вас такие line number="0" в вашем cobertura.xml file, К сожалению, исправление планируется для SonarQube 5.4 (т.е. 04 / Mar / 16.)

2) В зависимости от ваших конкретных потребностей, связанных с генерацией отчетов Cobertura, и, если вы используете Maven, вы можете попробовать использовать плагин QualInsight Maven Cobertura для создания отчетов Cobertura. Этот плагин обеспечивает qualinsight-mojo-cobertura-core моджо, альтернатива cobertura-maven-plugin mojo, который вы, вероятно, используете, если ваша сборка основана на Maven. Плагин QualInsight Maven Cobertura генерирует отдельные отчеты для UT, IT и комбинированного покрытия Total Test. Генерирует стандарт cobertura.xml отчеты, но также может конвертировать их в формат плагина SonarQube Generic Test Coverage.

Возможно сгенерированные отчеты qualinsight-mojo-cobertura-core не будет содержать данных, вызывающих проблемы + возможно, использование плагина Genaric Coverage SonarQube вместо плагина SonarQube Cobertura не вызовет исключение, которое вы получите (оно было выпущено 9 дней назад и проверено на соответствие SQ 5.2, тогда как плагин Cobertura последний раз выпускался в сентябре 2014 года)

Если вы хотите попробовать и вам нужна помощь / есть вопросы по этому решению, просто спросите (я разработчик плагина QualInsight Maven Cobertura.)

С Уважением,

Другие вопросы по тегам