SonarQube服务器新的质量配置文件checkstyle规则

时间:2016-10-26 13:17:36

标签: sonarqube checkstyle

在尝试使用我们自己的checkstyle_rules.xml创建新的质量配置文件时,甚至使用sun发出的checkstyle_rules,我收到如下错误:

对于sun checkstyle规则xml

Rule template can't be activated on a Quality profile:
checkstyle:com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineCheck


对于Google checkstyle规则xml

The definition of the profile 'null' (language 'null') contains multiple occurrences of the
'checkstyle:com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck' rule. 
The plugin which declares this profile should fix this.

我可以找到有关xml的文档应该提供模板,我们需要在此基础上创建实际规则。

如何为SONAR创建checkstyle规则以及如何将checkstyle_rules转换为模板

2 个答案:

答案 0 :(得分:0)

您无法播放模板规则,您首先要根据模板规则创建自己的规则。然后在您的质量配置文件中,您可以根据模板而不是模板本身关联新规则。

答案 1 :(得分:0)

我认为这仅涉及模板规则。规则"布尔表达式复杂度"的示例(checkstyle:com.puppycrawl.tools.checkstyle.checks.metrics.BooleanExpressionComplexityCheck)请参阅Sonar Checkstyle导入:无法在质量配置文件中激活规则模板以获取更多详细信息。

这些规则有无激活按钮,您可以使用默认属性或使用自定义属性创建它们。

在您的情况下,必须在sonarqube中创建 RegexpSinglelineCheck 模板规则,您无法通过导入xml文件来激活它(这实际上是一个限制)。并且规则无法转换为模板,既不能创建也不能删除模板(目前在sonarqube checkstyle存储库中有 44个规则模板)。

我建议使用谷歌使用的属性激活它们(但谷歌不会使用其中一些,因此请根据您的需要激活它们)

请参阅此链接:https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml