在自定义规则创建中的Sonar中的Java AST遍历

时间:2016-04-06 06:07:42

标签: sonarqube

我正在尝试使用Sonar的java AST api在Sonar中编写新的自定义Java规则。但我无法找到任何有关编写新规则的综合api文档。

我在https://github.com/SonarSource/sonar-examples/zipball/master中找到了一个示例,并实现了它并成功地将给定的自定义规则集成到Sonar中。但由于缺乏适当的api或示例,我无法继续编写新规则。在构建插件时获取未知错误。

例如,任何人都可以帮我创建一个简单的规则,比如在我的代码中不使用System.out.print语句吗?任何类型的代码示例指针都将非常感激。

1 个答案:

答案 0 :(得分:1)

虽然作为sonarqube java插件的维护者,我同意应该改进自定义规则编写的文档(我们在TODO列表中有这个),以获取api用法的代码示例,你可以查看{ {3}}

至于检测ArrayList <String> values = new ArrayList<>(BulkValues); 语句implemented checks in the java plugin的规则,但我建议依靠语义API(检查符号和类型)来实现自定义规则,而不是仅仅依赖于语法。