Как получить покрытие кода в SonarQube для многомодульного проекта MAVEN

#java #maven #sonarqube #sonarqube-scan

#java #maven #sonarqube #sonarqube-сканирование

Вопрос:

Я настроил сканер SonarQube для многомодульного проекта maven, и он работает нормально, и я получаю данные об ошибках, запахах кода, уязвимостях и дублированных блоках и т.д.

Это мой файл sonar-projects.properties

 sonar.projectKey=MyProject
sonar.projectName=My-Project
sonar.login=xxxxxxxxxxxxx
sonar.language=java
sonar.java.binaries=/home/build_dir/My-Project

sonar.modules=module1,module2

module1.sonar.sources=myModule1,test
module2.sonar.sources=mybModule2,test
  

Здесь я получаю результаты / данные для строк кода, ошибок, уязвимостей, запахов кода, дубликатов для обоих модулей, но я не знаю, почему мой столбец «Покрытие» показывает 0.0%.

Кто-нибудь может мне помочь в этом

К вашему сведению: я интегрировал maven-clover-plugin для получения отчета о покрытии кода, но я понятия не имею, как я могу интегрировать эти отчеты с Sonar

Спасибо

Ответ №1:

У вас есть проект Maven, поэтому вам следует использовать сканер SonarQube для Maven. В начале удалите sonar-projects.properties файл, а затем запустите сканер:

 mvn sonar:sonar -Dsonar.clover.reportPath=target/clover-report.xml
  

Это единственный плагин SonarQube Clover, который я нашел:sfeir-open-source / sonar-clover. Вы должны установить его на сервер. К сожалению, он очень старый, поэтому я не уверен, можно ли загружать SonarQube отчеты Clover.

Комментарии:

1. Спасибо agabrys, но здесь у меня есть несколько clover.xml файлы (для каждого модуля) не могли бы вы, пожалуйста, подсказать мне, как я могу использовать sonar scanner для каждого и как это отразится в sonar porta.

2. Вы пробовали это? Путь к XML-отчету является относительным. Если у вас есть target/clover-report.xml файл в каждом модуле, то он должен работать.

3. При выполнении команды выдается ошибка: [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project MyProject: Error when executing blame for file CODE_PATH/SomeLibrary.java: svn: E170001: Authentication required for '<https://my.svn.net:443> Authorization Realm' -> [Help 1] Не знаю, почему запрашивается аутентификация SVN

4. Не смешивайте отчеты Clover и JaCoCo.

5. Жюльен, ты прав, я устал и написал неправильный ответ.