Плагин Hudson FindBugs: как заставить работу провалиться, если возникнут проблемы? - PullRequest
2 голосов
/ 19 сентября 2008

Я играю с замечательным FindBugs плагином для Hudson . В идеале я хотел бы, чтобы сборка не удалась, если FindBugs обнаружит какие-либо проблемы. Возможно ли это?

Пожалуйста, не пытайтесь сказать мне, что "0 предупреждений" нереально с FindBugs. Некоторое время мы использовали FindBugs из Ant, и мы обычно поддерживаем 0 предупреждений. Мы достигаем этого за счет использования общих фильтров исключения и специальных / целевых аннотаций.

Ответы [ 4 ]

4 голосов
/ 27 сентября 2008

Гудзоновский способ - использовать нестабильную и не сбойную для чего-то подобного. Однако, если вы действительно хотите, чтобы ваша сборка провалилась, вы должны обработать это в ant.

<findbugs ... warningsProperty="findbugsFailure"/> <fail if="findbugsFailure">

3 голосов
/ 24 сентября 2008

Возможно, вы уже видели эту опцию, но она может по крайней мере установить нестабильную сборку, когда у вас больше предупреждений, чем X. На странице конфигурации вашей работы, прямо под полем ввода результатов Findbugs, где вы указываете шаблон файла findbugs, должна быть кнопка «Дополнительно». Это расширится и даст вам «Нестабильный порог», а также отчеты о работоспособности, которые изменяют погоду Хадсона для работы в зависимости от количества предупреждений.

Я бы не хотел, чтобы моя сборка провалилась, но нестабильность кажется разумной, если вы поддерживаете 0 предупреждений (и предположительно 0 неудачных тестов).

1 голос
/ 10 апреля 2009

Как отметил Том, предоставленный способ сделать это - с помощью свойства warningsProperty муравья FindBugs.

Однако нам не понравился грубый контроль, который давал нам неудачу при сборке. Итак, мы написали пользовательскую задачу Ant, которая анализирует вывод XML FindBugs. Он установит одно свойство Ant, если будут обнаружены какие-либо предупреждения с высоким приоритетом, другое свойство, если будут обнаружены какие-либо предупреждения о корректности, третье свойство, если будут обнаружены какие-либо предупреждения безопасности, и т. Д. Это позволит нам выполнить сборку для целевого поднабора предупреждений FindBugs при этом генерируя отчет в формате HTML, который охватывает более широкий круг вопросов. Это особенно полезно при добавлении анализа FindBugs в существующую базу кода.

0 голосов
/ 19 сентября 2008

Вы не можете так сильно полагаться на поиск ошибок, это просто экспертная система, которая сообщает вам, что что-то может быть неправильным с вашей программой во время выполнения. Лично я видел много предупреждений, генерируемых findbugs, потому что он не смог выяснить правильность кода (на самом деле).

Один пример, когда вы открываете соединение потока или jdbc в одном методе и закрываете его в другом, в этом случае findbugs ожидают увидеть вызов close () в том же методе, что иногда невозможно сделать.

...