2013-03-08 2 views
0

Существует несколько классов, которые я хочу, чтобы исключить из моего анализа покрытия Cobertura: - com.foo.NiceStuff - com.foo.CoolStuffКак исключить классы из анализа cobertura в отчете сонара при запуске из Jenkins/Hudson Plugin?

Это единственный способ, которым я знаю, чтобы исключить их:

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>cobertura-maven-plugin</artifactId> 
<version>2.5.2</version> 
<configuration> 
    <instrumentation> 
     <excludes> 
      <exclude>com/foo/NiceStuff.class</exclude> 
      <exclude>com/foo/CoolStuff.class</exclude> 
     </excludes> 
    </instrumentation> 
</configuration> 
</plugin> 

Но анализ сонара не является инстанцированным maven, а сонаром Jenkins/Hudson Plugin ... Так что эта конфигурация не используется.

Вы знаете какое-либо место для настройки этого исключения?

Заранее спасибо.

ответ

1

Sonar должен использовать ту же конфигурацию, если вы не проводите анализ там иначе, чем сборка, в которой вы работаете в Jenkins. Однако вы также можете рассказать Sonar о том, чтобы повторно использовать отчеты, созданные Дженкинсом, вместо того, чтобы генерировать его, что имеет дополнительное преимущество для ускорения анализа Sonar. Вам просто нужно установить sonar.dynamicAnalysis на reuseReports и сообщить Sonar, где найти отчеты об испытаниях. См. "Reusing Existing Reports" в викторине Sonar.

+0

Не уверен, что понял вас. Это не решает мою проблему, не так ли? –

+1

Я уверен, что так и будет. Посмотрите на вывод консоли вашего задания jenkins, и вы, вероятно, увидите, что jenkins запускает плагин sonar maven для анализа, который в основном просто запускает сборку maven как сконфигурированную. Если нет, то то, что я сказал, не применяется. –

Смежные вопросы