Как запустить findbugs автоматически в maven при установке

Легко добавить плагин findbugs в maven, чтобы он запускался, если я делаю

mvn site

Однако, я хотел бы, чтобы он запускался всякий раз, когда я делал

mvn install

так же, как модульные тесты. То есть, я не хочу, чтобы установка прошла успешно, если findbugs обнаружил какие-либо ошибки. Есть ли способ сделать это?

Ответы

Ответ 1

О findbugs: проверить цель, документация пишет:

Сбой сборки, если в исходном коде обнаружены нарушения FindBugs. XML-отчет по умолчанию помещается в целевой каталог с ошибками. Чтобы просмотреть дополнительную информацию о параметрах FindBugs, см. Руководство FindBugs.

Итак, это именно то, что вы ищете. Теперь вам просто нужно привязать контрольную цель к фазе проверки install (фаза проверки происходит непосредственно перед установкой и фактически выполняется для запуска любых проверок, чтобы убедиться, что пакет действителен и соответствует критериям качества, поэтому я думаю это лучший выбор):

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.0.1</version>
        <configuration>
          <effort>Max</effort>
          <threshold>Low</threshold>
          <xmlOutput>true</xmlOutput>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase> 
            <goals>
              <goal>check</goal> 
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

Конечно, адаптируйте конфигурацию в соответствии с вашими потребностями.