Исключить настроенный в pom.xml для jacoco и исключить файлы в сонар - PullRequest
0 голосов
/ 08 июня 2018

У меня есть проект Java Multi maven, и я настроил плагин Jacoco maven для каждого подмодуля, чтобы исключить файлы, для которых не требуется отчет о покрытии.Хотя мне это удалось, так как я не вижу этих файлов, которые я исключил из отчета html, сгенерированного jacoco.Я предположил, что эти файлы классов были исключены из файлов jacoco.exec.Теперь я использую эти накопленные файлы jacoco.exec в SonarQube и вижу охват всех подмодулей, однако, когда я вошел в детали класса, я снова увидел классы, которые я определил, чтобы исключить.Поэтому мне пришлось ОПРЕДЕЛИТЬ эти исключения снова со свойством sonar.exclusion, чтобы не видеть их в сонаре.

Для jacoco:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>**/*JavaProjectApiModule.class</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
  </build>

Для сонара я настроен в родительском pom.xml, в свойствах secion:

<sonar.exclusions>
        **/JavaProjectApiAModule.java
</sonar.exclusions>

Я думал, что однажды я исключу их с помощью конфигурации jacoco, они не будут добавлены в файлы jacoco.exec и, в свою очередь, не будут отображаться в сонаре. Но теперь этоКажется, мне придется сохранить исключения как для конфигурации Jacoco, так и для конфигурации сонара, и это будет большой беспорядок в случае классов из разных модулей ...

Я что-то здесь упускаю?Это путь?сохранить исключения для jacoco отдельно от сонара?

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

1 Ответ

0 голосов
/ 10 июня 2018

sonar.exclusions параметр определяет, какие файлы должны быть пропущены сканером.Это означает, что эти файлы не будут отображаться в SonarQube.

Файлы, исключенные из отчетов JaCoCo, пропускаются агентом JaCoCo во время выполнения тестов.

Когда сканер сканирует файлы, которые не включены в JaCoCoзатем они отображаются в SonarQube, но без информации о покрытии кода.Когда сканер игнорирует файлы (их пути совпадают sonar.exclusions), они не отображаются в SonarQube - независимо от того, включены они в отчет JaCoCo или нет.

...