首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为SonarQube 4.5编写自定义检查的正确方法是什么

为SonarQube 4.5编写自定义检查的正确方法是什么
EN

Stack Overflow用户
提问于 2014-10-28 11:06:53
回答 1查看 544关注 0票数 3

目前编写SonarQube 4.5检查的最佳方法是:

  1. 字节码分析
  2. 源分析

不幸的是,我找不到最新的网页提供一个清晰的解释,我看到现有的检查使用许多废弃的类和方法,使用即将被放弃的“桥梁”,检查定期从代码库中删除(如XPath规则)。

我想确定我将要开的支票会写得很好而且经久耐用。

所以..。

  • 我应该使用BytecodeVisitor来分析字节码吗?
  • 我应该使用BaseTreeVisitor来分析源代码吗?
  • org.sonar.api.rules.RuleRepository的替代品是什么?
  • org.sonar.api.resources.Java的替代品是什么?
  • org.sonar.api.rules.AnnotationRuleParser的替代品是什么?
  • 我如何编写类似于XPath的规则(BaseTreeVisitor正在使用SSLR,如果我没有错,那么SonarQube正在远离SSLR / AbstractXPathCheck是squid的一部分)。
  • 我还应该知道什么?

换句话说,我有点迷路了。

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 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检查)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26606733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档