Sonarqube系列04:Android、C++ 代码质量扫描
扫描所需前置条件( Token 、项目)和报告解读参照 Sonarqube系列03:Java 代码质量扫描 。
1. Android 代码扫描
Android 项目使用 Kotlin 和 Java 编程语言进行开发,这两种语言 Soanrqube 社区版默认支持,所以无需额外配置。
Android 项目工程化使用 Gradle,对应 Scanner 选用 SonarScanner for Gradle
。
1.1. 扫描规则
采用社区版默认规则。
1.2. 扫描配置
主项目 build.gradle
下添加 SonarScanner for Gradle
插件,并配置插件应用范围:
1 | buildscript { |
1.3. 分析代码
Gradle 使用 Gradle Warpper 可以避免不同项目版本冲突,JDK 版本取决于具体项目需求。执行分析脚本如下:
1 | 修改执行权限 |
2. C++ 代码扫描
Sonarqube 社区版不支持 C++ 编程语言的扫描,可以通过下图流程借助开源插件和 CppCheck (C++语言常用 linter) 实现支持。
流程说明:
- CppCheck 对 C++代码分析生成 xml 报告;
- 通过 Sonar Scanner 将 xml 报告上传至 Sonarqube Server ;
- 服务端 Sonarqube server 安装
sonar-cxx
插件,对接收的 CppCheck xml 报告进行解析成标准报告。
2.1. 配置 sonar-cxx 插件
sonar-cxx
插件下载地址 在这里,下载后将插件上传至 Soanrbue Server 安装目录下 extensions/plugins
文件夹,重启即可。
2.2. 分析代码
1 | cppcheck 生成xml报告 |