我正在尝试使用Sonar的java AST api在Sonar中编写新的自定义Java规则。但我无法找到任何有关编写新规则的综合api文档。
我在https://github.com/SonarSource/sonar-examples/zipball/master中找到了一个示例,并实现了它并成功地将给定的自定义规则集成到Sonar中。但由于缺乏适当的api或示例,我无法继续编写新规则。在构建插件时获取未知错误。
例如,任何人都可以帮我创建一个简单的规则,比如在我的代码中不使用System.out.print语句吗?任何类型的代码示例指针都将非常感激。
答案 0 :(得分:1)
虽然作为sonarqube java插件的维护者,我同意应该改进自定义规则编写的文档(我们在TODO列表中有这个),以获取api用法的代码示例,你可以查看{ {3}}
至于检测ArrayList <String> values = new ArrayList<>(BulkValues);
语句implemented checks in the java plugin的规则,但我建议依靠语义API(检查符号和类型)来实现自定义规则,而不是仅仅依赖于语法。