Как настроить плагин SpotBugs Maven для создания полного отчета, но только для проверки высокого порога? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть устаревший проект maven, и я хочу интегрировать FindBugs преемник SpotBugs , чтобы создать отчет обо всех проблемах, но потерпеть неудачу, если есть приоритетные проблемы High только (пока).

Создать отчет легко, без сбоев или на определенном пороге.Но при указании порога все проблемы ниже этого также удаляются из отчета.

Я попытался настроить плагин в соответствии с документацией , но безуспешно:

<plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
  <version>3.1.3</version>
  <configuration>
    <effort>Max</effort>
    <threshold>High</threshold>
    <xmlOutput>true</xmlOutput>
    <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs-reports</spotbugsXmlOutputDirectory>
    <xmlOutputDirectory>${project.build.directory}/spotbugs-reports</xmlOutputDirectory>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

Я использую Maven 3 и SpotBugs 3.1.3.

1 Ответ

0 голосов
/ 04 марта 2019

Не уверен, поможет ли это, в основном это обходной путь.

У меня похожий случай, и я сделал, что поместил конфигурацию в тег "report" (не reportSets).В теге "build" я просто помещаю информацию о плагине и зависимости.В конфигурации использовались значения по умолчанию для выходного xml и выходной папки.Я также добавил файл, который отфильтровывал некоторые ошибки:

<build>
        <plugins>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>3.1.10</version>
                <dependencies>
                    <dependency>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs</artifactId>
                        <version>3.1.11</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>3.1.10</version>
                <configuration>
                    <excludeFilterFile>spotbugs_filter.xml</excludeFilterFile>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

Затем я сделал

mvn clean install site spotbugs:check

Это дало мне:

  • spotbugsXmlXML-файл в каталоге build_, содержащий ВСЕ найденные ошибки (фильтры не применены).
  • В целевой папке / сайте был создан отчет spotbugs.html, содержащий отфильтрованный список ошибок.

Итак, чтобы связать это с вашей проблемой, я думаю, что с помощью этих «шагов» вы можете получить два отчета, один с порогом, а другой без.

Имеет ли это смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...