#java #maven
#java #maven
Вопрос:
Я ищу плагин, который позволит мне во время сборки обеспечить, чтобы мои файлы Java не превышали определенного размера. Например, если решено, что 500 строк — это слишком много строк для класса, то сборка завершится неудачно, если какие-либо классы превысят 500 строк.
Для чего-то подобного я думаю о jacoco, где вы можете настраивать различные параметры, но, конечно, вместо анализа покрытия тестового кода он анализирует фактическое количество строк в каждом классе.
Существует ли такой плагин?
Ответ №1:
Инструменты статического анализа кода (SCA) проверяют подобные вещи, но я не знаю плагина Maven, который завершает сборку с ошибкой, если такой предел превышен. Инструменты, которые я знаю, просто создают отчеты, чтобы информировать вас о таких обстоятельствах.
Даже если бы он существовал, я бы не стал использовать такой плагин. Слишком длинные классы — это вопрос рефакторинга, а не вопрос выпуска или неработоспособности кода.
Комментарии:
1. Да, по сути, какой-то SCA с реализацией плагина Maven — это именно то, что я ищу. К сожалению, мы не знаем об этом. Однако я бы не согласился. Хотя я, вероятно, не стал бы включать такой плагин в устаревший проект, я думаю, что он подойдет прямо дома для совершенно нового проекта. Существует несколько плагинов, которые прерывают сборку для гораздо менее раздражающих вещей, таких как стиль кода и сортировка пом.
2. @AustinBrown Какие плагины прерывают сборки из-за стиля кода или сортировки POM? (Хотя последнее может произойти со специальными конфигурациями, но в основном POM носят декларативный характер, и, следовательно, сортировка не должна иметь значения.)
3. сортировка пом: github.com/Ekryd/sortpom/tree/master/maven-plugin стиль кода: github.com/coveooss/fmt-maven-plugin
4. @AustinBrown
sortpom-maven-plugin
Уverify
цели есть параметрverifyFail=stop
. Я не понимаю, какfmt-maven-plugin
намеренно завершается сбой сборки.5. Хм. Возможно, у нас возникли семантические недоразумения? Все, что я знаю, это то, что с помощью плагина, когда я пытаюсь запустить
mvn clean verify
, сборка завершается неудачно.