目前编写SonarQube 4.5检查的最佳方法是:
不幸的是,我找不到最新的网页提供一个清晰的解释,我看到现有的检查使用许多废弃的类和方法,使用即将被放弃的“桥梁”,检查定期从代码库中删除(如XPath规则)。
我想确定我将要开的支票会写得很好而且经久耐用。
所以..。
BytecodeVisitor来分析字节码吗?BaseTreeVisitor来分析源代码吗?org.sonar.api.rules.RuleRepository的替代品是什么?org.sonar.api.resources.Java的替代品是什么?org.sonar.api.rules.AnnotationRuleParser的替代品是什么?BaseTreeVisitor正在使用SSLR,如果我没有错,那么SonarQube正在远离SSLR / AbstractXPathCheck是squid的一部分)。换句话说,我有点迷路了。
提前谢谢你的帮助。
发布于 2014-10-28 18:51:27
首先,谢谢你的反馈,事实上你的问题(原文如此)有很多问题:
从今天起,为Java编写自定义检查的方法是使用BaseTreeVisitor。现在,所有其他方法都被废弃了,我们正在努力将它们删除(但并不总是那么简单,因为其中一些方法需要一个完整的语义分析才能被删除)。这个api目前缺少的是对语义分析的访问,以便能够请求从字节码读取的类型信息。您可以看看这个项目:https://github.com/SonarSource/sonar-examples/tree/master/plugins/java-custom-rules
对于所有其他问题,请在邮件列表上询问。
(不过,注意: BaseTreeVisitor不直接使用SSLR,java插件没有脱离SSLR,特别是ASTNode,为了处理特定于每种节点类型的类的SyntaxTree,需要从非类型化的SyntaxTree迁移的逻辑中删除Xpath检查)。
https://stackoverflow.com/questions/26606733
复制相似问题