Как настроить плагин SpotBugs Maven для создания полного отчета, но только для проверки высокого порога?

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

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

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

<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.

0 ответов

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

У меня похожий случай, и я поместил конфигурацию в тег "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

Это дало мне:

  • файл spotbugsXml.xml в директории build_, содержащий ВСЕ найденные ошибки (фильтры не применяются).
  • В файле target / site был создан отчет spotbugs.html, в котором содержался отфильтрованный список ошибок.

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

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

Другие вопросы по тегам