使用 sonarlint-cli 进行 C++ 分析

Posted

技术标签:

【中文标题】使用 sonarlint-cli 进行 C++ 分析【英文标题】:Using sonarlint-cli for C++ analysis 【发布时间】:2017-01-02 03:33:10 【问题描述】:

我希望使用 sonarlint-cli (2.0) 通过远程 SonarQube 服务器 (5.6.1) 对 C++ 进行预提交分析,但是在更新绑定和下载分析插件时,它告诉我 cxx 插件(以及其他) 不兼容:

DEBUG: Plugin cxx is not compatible with SonarLint. Skip it.

这是社区 C++ 插件 (0.9.6)。

我想知道插件与 SonarLint 的兼容性规则,以及替代的预提交方法。

【问题讨论】:

【参考方案1】:

根据SonarLint web site,连接模式“将使 SonarLint 使用在您的 SonarQube 服务器上定义的分析器、质量配置文件和设置。”然而,这并不完全正确。

SonarLint 不支持非声纳分析器。因此,它不支持 PMD、checkstyle、FindBugs、C++ 社区插件等。因此,即使在您的 SonarQube 服务器和质量配置文件中定义了这些分析器,它们也将不会被使用。

你可能会问为什么。在google group discussion 中,据说只有在这些其他分析器不运行的情况下,SonarLint 才能完美且超快地工作。

我个人认为这种说法对这些其他工具的开发者是有害的。不支持第三方插件的决定对于在多语言静态代码分析上投入了大量时间的组织(比如我的)来说也是个问题。请记住,5 多年来,许多人使用 checkstyle 和 PMD 创建了自定义检查和自定义规则。那时,声纳 (ergo sonarqube) 没有提供用于 Java 自定义检查的 API。

我担心 SonarQube 最终可能会完全放弃对所有这些外部插件的支持。

【讨论】:

以上是关于使用 sonarlint-cli 进行 C++ 分析的主要内容,如果未能解决你的问题,请参考以下文章

PAT-字符串处理-B1021 个位数统计 (15分)

华为OD机试真题 C++ 实现实力差距最小总和2023 Q1 | 200分

华为OD机试真题 C++ 实现实力差距最小总和2023 Q1 | 200分

华为OD机试真题 C++ 实现实力差距最小总和2023 Q1 | 200分

Unreal Engine 大象无形学习笔记 (第一部分:虚幻C++编程)

华为OD机试真题 C++ 实现垃圾短信识别2023 Q1 | 100分