一、sonar安装
利用sonar检测代码需要安装下面几个软件
SonarQube、Sonar-Scanner、OClint、sonar plugin for objective-c、sonar-I10n-zh(安装步骤参考http://www.cnblogs.com/ishawn/p/3959521.html )
二、ios检测脚本
cp -rf /Users/conf/ios/sonar-project.properties ${WORKSPACE}/ cp -rf /Users/conf/run-sonar.sh ${WORKSPACE}/ ${WORKSPACE}/run-sonar.sh
将执行脚本拷贝到项目根目录,执行就可以。
sonar-project.properties内容
# must be unique in a given SonarQube instance sonar.projectKey=canyinios
# this is the name displayed in the SonarQube UI sonar.projectName=testios sonar.projectVersion=1.0 sonar.language=objc
sonar.projectDescription=test testios
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=./ sonar.objectivec.workspace=TestWorkspace.xcworkspace sonar.objectivec.project=TestFirst sonar.objectivec.appScheme=TestFirst
# Encoding of the source code. Default is default system encoding sonar.sourceEncoding=UTF-8
三、android检测脚本
cp -rf /Users/conf/local.properties ${WORKSPACE}/ gradle clean gradle build
rm -rf ${WORKSPACE}/sonar-project.properties cp -rf /Users/conf/android/sonar-project.properties ${WORKSPACE}/
sonar-scanner -X
rm -rf ${WORKSPACE}/local.properties
sonar-project.properties内容
# must be unique in a given SonarQube instance sonar.projectKey=testandroid
# this is the name displayed in the SonarQube UI sonar.projectName=testandroid sonar.projectVersion=1.0 sonar.language=java sonar.projectDescription=test testandroid
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file. sonar.sources=./test/src/main/java/ sonar.binaries=./test/build/intermediates/classes sonar.profile=All Sonar way
# Encoding of the source code. Default is default system encoding sonar.sourceEncoding=UTF-8
sonar-project.properties文件基本一致,只修改其中项目语言的修改以及项目目录的修改。
barryhippo的原创