【问题标题】:SonarQube - help in creating a new language pluginSonarQube - 帮助创建新的语言插件
【发布时间】:2013-07-30 22:06:09
【问题描述】:

我正在为 SonarQube 创建一个新插件,它允许开发人员对 ESQL 代码执行静态代码分析。

使用 Maven,我可以构建一个插件的外壳,它会生成 JAR 文件,我可以将其放置在正确的文件夹中,以便将其添加到 SonarQube。

下一个阶段是为规则编写 Java 类,但是我不确定这些类的外观和位置。我正在使用以下 GIT 存储库中的示例:https://github.com/SonarSource/sonar-examples/tree/master/plugins/sonar-reference-plugin

我是否只是创建一个包含一些类的新包?以及我如何真正统治?

【问题讨论】:

    标签: java plugins sonarqube


    【解决方案1】:

    如果您想为 ESQL 语言编写规则引擎,这意味着您必须首先为该语言编写解析器。只有在您完成此阶段后,您才会基于该解析器创建一个规则引擎(访问者类在 AST 中导航并在特定情况下产生问题)。

    您可以看看我们如何实现 Javascript 插件 (see the code of version 1.3):

    • “javascript-squid”模块是编写解析器的地方
    • “javascript-checks”模块是编写规则引擎(基于解析器)的地方
    • “sonar-javascript-plugin”模块是真正的插件,它嵌入了解析器和规则引擎,并在它们周围提供了所有必需的粘合。

    【讨论】:

    • 非常感谢,我今天就看看。我的经理还问我是否有可能拥有一个运行多个正则表达式的插件,这些正则表达式都存储在一个文件中。这是否可能有一种快速而肮脏的方式来解决它。首先,我只需要检查 ESQL 语句以确保它符合客户的编码标准
    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多