演示环境:Mac OSX10.12.2 Xcode8

先瞄一眼最终成果~
从0到1一步步搭建代码质量检测系统~iOS

1.JDK,DBMS(演示环境使用Mysql)
2.创建sonar数据库和用户
mysql -u root -pCREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
下载sonar 演示环境使用v6.1,下载后解压到
/usr/local/sonar/
下载sonar-runner:演示环境使用v2.4,下载后解压到
/usr/local/sonar-runner/

完成后配置bin环境变量PATH~(不清楚的search一下,????)

5.安装完成sonar、sonar-runner后进行数据配置

sonar配置:sonar.properties配置文件/usr/local/sonar/conf/sonar.properties
配置数据库登陆账号密码

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar-runner配置:sonar-runner.properties配置文件/usr/local/sonar-runner/conf/sonar-runner.properties。

sonar.host.url=http://localhost:9000
#----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
#----- Global database settings
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=admin
5.1在/usr/local/sonar/bin/macosx-universal-64/下执行:
sudo ./sonar.sh start  启动sonar。在浏览器打开localhost:9000查看是否启动
引用下载地址

放置在/usr/local/sonar/extensions/plugins/目录下。重启sonar会自动加载。

sudo ./sonar.sh stop
sudo ./sonar.sh start
7.使用Homebrew来安装xctool、oclint、gcovr。
brew install xctool
brew tap oclint/formulae
brew install oclint
brew install gcovr
引用下载地址

配置结构如下:
从0到1一步步搭建代码质量检测系统~iOS

https://github.com/ChenTF/iOS-sonarShell/blob/master/run-sonar_V2.sh

PS:运行该脚本无效的可尝试参考11的思路手动运行

10.完成。打开localhost:9000查看结果,然后开始修bug吧~????~附图:

从0到1一步步搭建代码质量检测系统~iOS

11.补充:手动执行代码质量检测过程
11.1.生成compile_commands.json文件。命令:
xcodebuild -workspace TRB.xcworkspace -scheme TRB -sdk iphonesimulator  build | tee xcodebuild.log | xcpretty -r json-compilation-database --output compile_commands.json

从0到1一步步搭建代码质量检测系统~iOS

从0到1一步步搭建代码质量检测系统~iOS

11.2生成oclint.xml。命令:
oclint-json-compilation-database -- -max-priority-1 10000 -max-priority-2 10000 -max-priority-3 10000 -rc LONG_LINE=150 -report-type pmd -o oclint.xml

从0到1一步步搭建代码质量检测系统~iOS

11.3执行sonar-runner。

注意在sonar-project.properties配置文件中,需要配置oclint.xml文件路径。

sonar.objectivec.oclint.reportPath=oclint.xml

从0到1一步步搭建代码质量检测系统~iOS

执行命令:

sonar-runner //若提示没找到命令的检查PATH的设置

从0到1一步步搭建代码质量检测系统~iOS
从0到1一步步搭建代码质量检测系统~iOS

11.4完成。打开localhost:9000查看结果。~~

从0到1一步步搭建代码质量检测系统~iOS

补充:
如果需要,可下载sonar中文插件,放到/usr/local/sonar/extensions/plugins/下,重启sonar即可。
注意下载的语言包需要和sonar版本号对应,例如演示环境sonar为v6.1,故下载v1.13语言包。
对应关系请参照下载地址

参考链接:
隔壁老王:Sonar XCode8兼容

欢迎加群讨论其它????~:578874451

相关文章:

  • 2021-10-18
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2021-05-26
  • 2021-04-25
  • 2021-07-23
猜你喜欢
  • 2021-04-19
  • 2021-05-20
  • 2021-06-27
  • 2021-11-27
  • 2021-10-20
  • 2021-12-28
  • 2021-08-17
相关资源
相似解决方案