Подтвердить что ты не робот

Настройка Sonar для исключения файлов из Maven pom.xml

У меня есть проект, сконфигурированный в maven, и анализ кода выполняется SonarQube.

Я пытаюсь настроить SonarQube в файле pom.xml, чтобы исключить несколько файлов из анализа кода. Эти файлы могут быть идентифицированы по их именам классов, они содержат символ подчеркивания перед расширением (они являются классами метамодели). Ниже я предоставляю часть файла pom.xml, где я пытаюсь их исключить:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <sonar.sources>src/main/java</sonar.sources>
        <sonar.exclusions>file:**/src/main/java/**/*_.*</sonar.exclusions>
    </configuration>
</plugin>

Однако приведенный выше код не работает. Есть ли способ настроить SonarQube из моего файла pom.xml, чтобы игнорировать эти файлы при анализе исходного кода?

Спасибо заранее.

4b9b3361

Ответ 1

Исключения сонара (как и другие свойства сонара) должны быть добавлены в раздел <properties> файла POM. Как и так (пример из исключения jOOQ автоматически генерируемого кода из текущего проекта):

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <sonar.host.url>http://www.example.com/</sonar.host.url>
    <sonar.jdbc.url>jdbc:postgresql://www.example.com/sonar</sonar.jdbc.url>
    <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
    <sonar.jdbc.username>sonar</sonar.jdbc.username>
    <sonar.jdbc.password>sonar</sonar.jdbc.password>
    <sonar.exclusions>org/binarytherapy/generated/**/*, **/GuiceBindComposer.java</sonar.exclusions>
    <sonar.dynamic>reuseReports</sonar.dynamic>
</properties>

Ответ 2

классы/пакеты, упомянутые в <sonar.exclusions>, исключают данные классы из всего статического анализа Sonar, однако <sonar.coverage.exclusions> исключает данные классы/пакеты только из охвата и все еще анализируется для других параметров.

<properties>
    <sonar.coverage.exclusions>
        **/domain/**/*,
        **/pojos/*
    </sonar.coverage.exclusions>
</properties>

Ссылка:

Источник: