三味猪屋

SonarQube应用之Objective-c

前面章节提到SonarQube支持的语言多达20+种,对这些语言的支持都是通过插件(plugin)形式,前面章节介绍了怎么通过SonarQube安装官方支持的一些语言(Java、JavaScript、PHP)的插件,但是对于Swift和Objective-c语言的插件需要licence才能使用,价格不菲,例如SonarCFamily插件就需要$5000/year。不过网上也已经有开源的能够支持Swift或者Objective-c语言的插件。

1、sonar-scanner(低版本也可以使用sonar-runner)
2、xcpretty
3、OCLint(SwiftLint支持Swift)
4、slather
5、lizard
6、gcovr

1、sonar-scanner安装:
sonar-scanner是sonarQube默认的分析启动器。
安装如下:

2、xcpretty安装:
xcpretty是为xcodebuild命令提供的附加功能,可以对整个编译构建过程中产生的日志进行统计,并生成格式化报表。
项目地址:https://github.com/supermarin/xcpretty
由于我们自己的搭建的自动化构建工具是基于fastlane搭建的,fastlane对xcodebuild编译过程中产生的日志格式化输出已经非常出色了。
3、OCLint安装:
OCLint是一个主要针对c、c++、Objective-c的静态代码分析工具
项目地址:https://github.com/oclint/oclint



4、slather安装:
slather是为Xcode项目生成测试覆盖率报告并将其挂接到CI中。是统计测试覆盖率的工具,可以生成报告日志和静态网页报表对测试覆盖率进行分析。
项目地址:https://github.com/SlatherOrg/slather
$ gem install slather
5、lizard安装:
lizard是一个代码复杂度分析工具。
项目地址:https://github.com/terryyin/lizard

6、gcover安装:
gcover是代码覆盖率分析工具。
项目地址:http://gcovr.com
$ brew install gcovr

关于代码覆盖率工具以后可以专门用一章节来说道说道。
CodeCoverage:苹果将其作为Xcode7的一个特性集成进去了。
详情请见
XcodeCoverage:https://github.com/jonreid/XcodeCoverage
7、FauxPas安装:
项目地址:http://fauxpasapp.com
破解地址:http://xclient.info/s/fauxpas.html
FauxPas并不仅仅着眼于你的代码,它可以检测Xcode项目中的所有元素存在的潜在问题。

参考:
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
http://oai4nfrij.bkt.clouddn.com/OCLint.html
https://www.ibm.com/developerworks/cn/java/j-lo-sonar/
http://www.jianshu.com/p/f58e89573d33
http://www.infoq.com/cn/articles/effective-code-reviews?utm_source=infoq_en&utm_medium=link_on_en_item&utm_campaign=item_in_other_langs
https://www.ibm.com/developerworks/cn/opensource/os-sonarqube/
https://github.com/Backelite/sonar-objective-c
https://github.com/oclint/oclint
http://www.jianshu.com/p/9ae446d76271