在尝试使用我们自己的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转换为模板
答案 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