У нас есть два проекта веб-приложений Java, которые анализируются одним и тем же экземпляром SonarQube (версия 6.4). Оба этих проекта имеют компоненты Java, JavaScript и CSS, и мы хотели бы запустить анализ для этих профилей.
Проект A успешно анализируется для всех трех языков, тогда как Project B анализируется только на Java.
Глобальные настройки в значительной степени недоступны, и ни один проект не имеет каких-либо специфических для проекта настроек.
Мы не думаем, что это должно иметь какое-либо влияние, но Project A - это приложение Spring MVC, которое использует JSP. Проект B - приложение Spring Boot, в котором используется Thymeleaf.
В проекте A нет файла sonar.properties или sonar-project.properties. В проекте B мы пробовали его без каких-либо свойств и со свойствами, которые пытаются назвать его как sonar.properties, так и sonar-project.properties, которые устанавливают sonar.language либо js самостоятельно, либо java, js, css, но, похоже, нет никакой разницы в поведении.
SonarQube запускается Jenkins (версия 2.61) с помощью модуля SonarQube Scanner для Jenkins (версия 2.6.1).
Оба проекта Jenkins аналогичным образом настраиваются и запускают анализ сонара в качестве этапа Post Build:
$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SQ_LOGIN -Dsonar.password=$SQ_PASSWORD
Мы даже попытались сбросить базу данных Sonar и восстановить Sonar, но Project B по-прежнему анализируется только для Java.
EDIT: Мы хотели бы, чтобы проект B анализировался с помощью Java, JavaScript и CSS, как и в проекте A.
По умолчанию анализ Maven не включает в себя файлы ресурсов в анализ. Вам нужно сделать это вручную, переопределив sonar.sources
как свойство в вашем pom или определив (-D
) его в командной строке. Я бы предположил, что это было сделано в собственности в помпе проекта, который сканируется, как вы хотите.