Подтвердить что ты не робот

Как сбой сборки при появлении новых предупреждений

Мы работаем над некоторым старым проектом java. В коде много предупреждений, но я хочу избежать введения новых. есть ли способ сделать это с maven, bamboo. у нас нет прав на установку новых плагинов на бамбук (корпорация), поэтому предпочтительнее решение maven.

4b9b3361

Ответ 1

Хорошо, я согласен, что нет плагина, который может это сделать, но вы можете сделать это в простых шагах с java 1.7.

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

Примечание. В jdk 1.6 и 1.5 вы можете использовать инструмент APT для того же самого.

Ответ 2

Если вы используете eclipse, вы можете добавить аннотацию (@IgnoreWarnings), чтобы игнорировать существующие предупреждения. Но вам придется изменить источник везде, где есть предупреждение.

Возможно, более разумное решение можно использовать с помощью PMD (http://pmd.sourceforge.net/) и/или findbugs (http://findbugs.sourceforge.net/). Доступны как плагины для множества сред.

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

Ответ 3

Важным словом здесь является " новый" -
вы ищете новые предупреждения в своем журнале сборки, независимо от их серьезности или происхождения.

Для этого вам нужно иметь "моментальный снимок" текущего набора предупреждений:

  • Возьмите копию вывода "хорошей" сборки со всеми ее предупреждениями.

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

Приветствия

Ответ 4

Вы можете использовать checkstyle задачу и после завершения создания отчета вы можете извлечь количество предупреждений с помощью xslt (если отчет находится в xml, я верьте другим форматам отчетов также).

Затем, используя задачу ant, вы можете сравнить количество предупреждений в текущей сборке против acceptablenumber предупреждений (это может быть либо жестко запрограммированное число где-то, либо взято из предыдущих артефактов сборки, если вы хотите быть фантастическим)