Как вы проваливаете сборку на основе результата одного детектора Findbugs? - PullRequest
1 голос
/ 19 ноября 2010

Если вы используете Findbugs для проверки скомпилированного кода, возможно ли сбой сборки на основе результата одного детектора или категории детекторов?

Например, я хотел бы убедиться, что у меня нет никаких обнаружений, связанных с нулевым указателем (префикс «NP» в этом списке ) любого приоритета.Точно так же мы действительно не хотим, чтобы какие-либо ожидания не возникали в цикле ситуаций.Тем не менее, мне не обязательно отказывать в сборке на основе обнаружений интернационализации, поскольку они не являются критически важными для нашего приложения.

Желаемое конечное состояние - это процесс, который мы могли бы настроить для множестваэтапов разработки, начиная от уровня IDE (Eclipse и Netbeans) до уровня выпуска (сборки генерируются с использованием CruiseControl).

ПРИМЕЧАНИЕ. Мне известно, что Eclipse и Netbeans имеют одинаковые встроенные методы обнаружения, ноконкретный вопрос FindBugs.

1 Ответ

2 голосов
/ 19 ноября 2010

Из FindBugs, используя раздел Ant Task :

includeFilter

Необязательный атрибут. Он указывает имя файла фильтра, определяющего, какие ошибки сообщаются. См. Глава 8, Фильтр файлов .

Из главы 8:

Тем не менее, фильтр также может быть использован для выбора экземпляров ошибок для конкретного отчета:

$ findbugs -textui -include myIncludeFilter.xml myApp.jar

и

  1. Сопоставьте определенные тесты из всех классов, указав их сокращения.
<code> <Match>
     <Bug code="DE,UrF,SIC" />
 </Match>

Поэтому я бы предположил что-то вроде:

<Match>
    <Bug code="Wa,NP" />
</Match>

В вашем включенном фильтре и

<findbugs includeFilter="path/to/includefilter.xml"...

Будет то, что вы ищете.

path/to /includeFilter (или excludeFilter) может быть свойством, которое устанавливается на основе значения другого свойства, которое может по умолчанию иметь значение, например dev для обычных сборок, test для сборок CI и deploy для развертываний и укажите, какие конкретные предупреждения вы хотите видеть или не хотите видеть на каждом этапе.

Надеюсь, это поможет.

...