Mac-Sonar系统配置可以参考Mac-Sonar系统配置
一、JS/Java代码扫描配置
1、在sonar创建项目
2、在项目根目录创建sonar-project.properties
2.1 js 的项目配置
js/sonar-project.properties
# 项目key配置
sonar.projectKey=com.xx.jstest
# 项目工程名称
sonar.projectName=jstest
# 工程版本号
sonar.projectVersion=1.0
# 需要扫描的目录,也可以是制定文件'src/person2.js,src/person3.js'
sonar.sources=src
# sonar地址,sonar-scanner中配置了就行,此处配不配置都行
#sonar.host.url=http://127.0.0.1:9000
# 不设置则默认分析多种语言, 此处为js
sonar.language = js
2.2 Android 的项目配置
android/sonar-project.properties
# 项目key配置
sonar.projectKey=com.xx.android
# 项目名称
sonar.projectName=android
# 工程版本号
sonar.projectVersion=1.0
# 需要扫描的目录,也可以是制定文件
sonar.sources=app/src/main/java/com/example/zw/androidlearndemo/MainActivity.java
# 二进制文件
sonar.java.binaries=app/build/intermediates
# sonar地址,sonar-scanner中配置了就行,此处配不配置都行
#sonar.host.url=http://127.0.0.1:9000
# 不设置则默认分析多种语言
sonar.language = java
3、进入项目根目录执行
sonar-scanner
二、 iOS 代码扫描配置
1、iOS 代码扫描需要一些工具
1.1、OCLint 的下载和安装(Issues-代码规则)
brew tap oclint/formulae
brew install oclint
1.2、xcpretty(Tests-测试)
xctool现已被xcodebuild和xcpretty取代
安装步骤如下
git clone [https://github.com/Backelite/xcpretty.git](https://github.com/Backelite/xcpretty.git) --找一个文件夹存放xcpretty的源码
cd xcpretty
git checkout fix/duration_of_failed_tests_workaround
gem build xcpretty.gemspec
sudo gem install --both xcpretty-0.2.2.gem
1.3、slather (Code coverage-代码覆盖率)
要求安装版本高于 2.1.0 (Xcode7之前的版本使用gcovr,Xcode7以后选用 slather
)
gem install slather --如果ruby版本低于2.1.0,则需要更新ruby
1.4、lizard(Complexity-复杂性)
lizard(ci上的版本1.12.15)
sudo pip install lizard
2、 iOS 的项目配置
ios/sonar-project.properties
# 目录名称最好和项目名称保持一致 Test -> Test.xcodeproj,否则会出现检测不出来问题代码的问题
sonar.projectKey=com.xx.ios
# 决定了在sonar服务器上显示的名称
sonar.projectName=ios
sonar.projectVersion=1.0
sonar.language=objc
# Project description
sonar.projectDescription=Fake description
# Path to source directories 工程文件目录, 也可以是制定文件
sonar.sources=ios/ViewController.h,ios/ViewController.m
# Path to test directories (comment if no test) 测试文件目录
#sonar.tests=
#sonar.objectivec.simulator=platform=iOS Simulator,name=iPhone 6,OS=9.2
# 二选一
sonar.objectivec.project=ios.xcodeproj
#sonar.objectivec.workspace=xx.xcworkspace
# Scheme to build your application
sonar.objectivec.appScheme=ios
# Scheme to build and run your tests (comment following line of you don't have any tests)
sonar.objectivec.testScheme=iosTests
# Encoding of the source code
sonar.sourceEncoding=UTF-8
# JUnit report generated by run-sonar.sh is stored in sonar-reports/TEST-report.xml
# Change it only if you generate the file on your own
# The XML files have to be prefixed by TEST- otherwise they are not processed
# son