2013-07-12 2 views
3

У меня есть уже существующий Java-проект, к которому недавно был применен анализ сонара. Существует большое количество нарушений правил CheckStyle JavadocMethod.Как ограничить правило Sonar JavadocMethod именами файлов, включая «Контроллер»?

Как я могу ограничить правило JavadocMethod, применять только к именам файлов java с шаблоном «Контроллер .java»?

ответ

2

JavadocMethod проверка не дает возможности ограничить себя определенными файлами, поэтому это невозможно сделать легко. Но - вы можете:

  • Написать custom filter, который подавляет все JavadocMethod предупреждения, которые происходят в файлах, которые не соответствуют шаблону. Это не сложно - пример на связанной странице охватывает именно этот случай. Но для этого требуется развернуть фильтр, и это может быть немного хлопот.
    Я не уверен, работает ли это в сонаре. Я использую пользовательские проверки Checkstyle в Sonar все время, но я еще не пробовал настраиваемые фильтры.

  • Написать подкласс JavadocMethodCheck Checkstyle, который добавляет возможность применить себя только к определенным файлам (Sonar Examples, Checkstyle tutorial). Это уверенная ставка, если пользовательские фильтры не могут быть добавлены в Sonar.

  • Если вы используете Eclipse, вы можете настроить его для использования разных наборов правил на основе имени файла. Вы сделали бы это, используя «расширенный» параметр конфигурации в свойствах проекта. Ваши регулярные выражения будут Controller\.java$ для соответствия всем контроллерам и .{10}(?<!Controller)\.java$ в соответствии с другими файлами Java. Этот подход также может быть применен к автономному или Ant-based Checkstyle, но не к Sonar.

Я сожалею, что нет ничего проще, доступны для вас - но это, как обстоят дела на данный момент ...
Удачи!

+0

Ваш учебник по Sonar Ссылка устарела, если вы можете ее обновить. –

+1

Просто сделал. Старый учебник больше не существует, но SonarQube работает по-другому сегодня. Обновлен до более полезной коллекции примеров. –