SonarQube - Конфигурация модуля - отсутствующие классы - PullRequest
0 голосов
/ 15 мая 2018

У меня есть многомодульный проект Java со следующей конфигурацией (упрощенно):

sonar.java.binaries=classes
sonar.java.test.binaries=classes
sonar.java.libraries=../**/*.jar, ../../**/*.jar, ../../../**/*.jar
sonar.java.test.libraries=../**/*.jar, ../../**/*.jar, ../../../**/*.jar

sonar.tests=testsrc
sonar.sources=src

sonar.modules=moduleA, moduleB, moduleC

moduleA.sonar.projectBaseDir=project/moduleA
moduleB.sonar.projectBaseDir=project/subfolder/moduleB
moduleC.sonar.projectBaseDir=project/subfolder/anothersubfolder/moduleC

Все модули имеют зависимости друг от друга (например, moduleA использует классы из moduleB, использует классы из moduleC)

Теперь я получаю следующее предупреждение:

The following classes needed for analysis were missing:
....
....

Я решил проблему, добавив отсутствующие двоичные папки для модулей, например,

moduleA.sonar.java.binaries=classes, ../subfolder/moduleB/classes, ../subfolder/anothersubfolder/moduleC

но поскольку мой проект состоит из МНОГИХ модулей (почти 100), я не хочу добавлять каждый зависимый модуль вручную

Что я здесь не так делаю?

Я использую SonarQube 7.1 и SonarQube Scanner 2.6.1

1 Ответ

0 голосов
/ 16 мая 2018

мой проект состоит из МНОГИХ модулей (около 100). Я не хочу добавлять каждый зависимый модуль вручную

Что я здесь не так делаю?

Мы установили в комментариях, что вы используете ванильный сканер SonarQube для анализа проекта Gradle. ... Это что вы делаете неправильно.

Будет ли работать ванильный сканер в проекте Gradle? Конечно. Сейчас работает.

Но, как вы обнаружили, вам придется выполнить всю настройку вручную для всего макета, о котором Gradle уже знает. Если вы не хотите выполнять эту настройку для 100 модулей, вам следует изучить Анализ с помощью сканера SonarQube для Gradle

...