2014-11-12 2 views
2

Я пытаюсь создать новый профиль качества с существующим Checkstyle набором правилами, но получает сообщение об ошибке:Sonar Checkstyle: шаблон Правил не может быть активирован в профиле качества

шаблона Правил не может быть активируется на профиле качества: Checkstyle: com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck

Я использую самый простой набор правил пример из checkstyle officail site:

<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

Что не так?

+0

Кажется, ошибка, сонар версия 4.3.3 с такой же конфигурацией работает нормально. – Kef

+0

Кто-нибудь разрешил это? Я прочитал ответ ниже, но не понимаю, что делать. Я нахожусь на версии 4.5.1 –

+0

, застрявшей с той же проблемой на гидролокаторе 4.5.1. Не удалось экспортировать правила checkstyle и pmd из сонара. 4.2 – Upen

ответ

3

Эти правила Checkstyle (например, «ConstantNameCheck») определяются с несколькими мощностями в плагине SonarQube Checkstyle. Это означает, что должно быть возможно активировать несколько «экземпляров» этих правил с разными значениями для своих параметров.

В SonarQube 4.4+ больше не возможно иметь несколько активировок этих правил. Они считаются «rule templates», что означает, что вы должны создавать из них собственные правила (с явными параметрами), чтобы активировать их по качественным профилям.

Все объяснено на Rules documentation page.

+3

У меня тоже есть эта проблема, и я настолько новичок в SonarQube, что я не понимаю страницу шаблона, на которую вы указываете. Возможно ли, чтобы вы представили пример, чтобы я мог рассказать о проблеме. –

+0

Команда Checkstyle проверит, что можно сделать для облегчения импорта - https://github.com/checkstyle/sonar-checkstyle/issues/2 –

0

Посмотрите на это.

http://dist.sonarsource.com/reports/coverage/checkstyle.html

Это работает, когда вы изменить его с помощью этих параметров. Например, ConstantName в xst-файле checkstyle имеет значение S00115. Возможно, это решение.

Пример:

<module name="S00115"/> <!--ConstantName--> 
<module name="S00117"> <!--LocalFinalVariableName--> 
    <property name="format" value="^[a-z_][a-zA-Z0-9]*$"/> 
</module> 

 Смежные вопросы

  • Нет связанных вопросов^_^