【问题标题】:How to create custom rules for XML in SonarQube?如何在 SonarQube 中为 XML 创建自定义规则?
【发布时间】:2021-02-06 03:39:33
【问题描述】:

我需要在 Sonarqube 中为 XMl 编写自定义规则。我在这里尝试了一些模板。 https://github.com/SonarSource/sonar-custom-rules-examples。但它不适用于 XML。有人有声纳 XML 插件的模板吗?

【问题讨论】:

标签: xml sonarqube


【解决方案1】:

最后我能够更新声纳 xml 插件并在那里添加我的逻辑。 我添加/修改了 4 个文件来实现一个自定义规则。

  1. src/main/java/org/sonar/plugins/xml/checks/SynapsCheck.java 添加了包含验证逻辑的新文件。

  2. src/main/java/org/sonar/plugins/xml/checks/CheckList.java 应将类名添加到此检查列表中

  3. src/main/resources/org/sonar/l10n/xml/rules/xml/SynapsCheck.html 包含声纳网页中的网页内容的 HTML 文件

  4. src/main/resources/org/sonar/l10n/xml/rules/xml/SynapsCheck.json 包含规则元数据的 Json 文件

您可以找到完整的解决方案here

注意:这是替换现有的声纳 xml 插件,因此在修改文件时请小心

【讨论】:

  • 当我尝试启动 SonarQube 时,我在控制台中收到此错误 ERROR app[][startup] 启动失败:无法加载插件。查看 web 日志以获取更多信息 当我检查我的 web.log 文件时,我发现了这个 ERROR web[][osspPlatformImpl] Web 服务器启动失败:在目录 'extensions\plugins' 中找到一个插件 'SonarXML' ' 具有与内置功能“XML 代码质量和安全性”相同的密钥 [xml]。请删除“extensions\plugins\original-sonar-xml-plugin-2.2.0-SNAPSHOT.jar”。您在@Hasitha 之前遇到过同样的问题
【解决方案2】:

Sonarqube v8.5+ 不支持自定义 xml 插件,因为它已成为 sonarqube 系统的一部分。如果您尝试安装您的自定义插件,它会为找到重复的 xml 插件而报错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2017-01-07
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    相关资源
    最近更新 更多