Импорт Sonar Checkstyle: шаблон правила не может быть активирован в профиле качества
Я пытаюсь создать новый профиль качества с существующим набором правил checkstyle, но получаю сообщение об ошибке:
Шаблон правила нельзя активировать в профиле качества: checkstyle:com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck
Я использую простейший пример набора правил на официальном сайте checkstyle:
<module name="Checker">
<module name="JavadocPackage"/>
<module name="TreeWalker">
<module name="AvoidStarImport"/>
<module name="ConstantName"/>
<module name="EmptyBlock"/>
</module>
</module>
Версии: Sonar 4.5.1 с плагином Checkstyle 2.1.1
Что случилось?
2 ответа
Эти правила Checkstyle (например, "ConstantNameCheck") определяются с множеством элементов в плагине SonarQube Checkstyle. Это означает, что должна быть возможность активировать несколько "экземпляров" этих правил с разными значениями для своих параметров.
В SonarQube 4.4+ больше нельзя использовать несколько активаций этих правил. Они рассматриваются как " шаблоны правил", что означает, что вы должны создавать из них пользовательские правила (с явными параметрами), чтобы иметь возможность активировать их в профилях качества.
Все объясняется на странице документации Правил.
Посмотри на это.
http://dist.sonarsource.com/reports/coverage/checkstyle.html
Это работает, когда вы меняете его с этими параметрами. Например, ConstantName в xml-файле контрольного стиля - S00115. Может быть, это решение.
Пример:
<module name="S00115"/> <!--ConstantName-->
<module name="S00117"> <!--LocalFinalVariableName-->
<property name="format" value="^[a-z_][a-zA-Z0-9]*$"/>
</module>