SonarQube安裝
準備工作
1、已安裝JAVA環境 (Download Java for Mac OS X https://www.java.com/en/download/mac_download.jsp http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2、下載SonarQube與SonarQube Runner
下載地址:
3、執行sonar
- 解壓sonarqube-6.7.1.zip
- 通過終端命令列cd到sonarqube解壓目錄下的/bin/macosx-universal-64資料夾
- 執行
./sonar.sh startar-scanner
- 瀏覽器訪問http://localhost:9000
- 出現以下頁面,表示安裝成功
SonarQube使用
sonarqube預設支援的語言外掛,在sonarqube-6.7.1/extensions/plugins 這個資料夾裡可以看到。
其中的backelite-sonar-swift-plugin-0.3.5.jar是從這裡下載的。關於Open source Swift plugin for SonarQube的開原始檔
具體操作步驟:
- 拷貝backelite-sonar-swift-plugin-0.3.5.jar檔案到sonarqube-6.7.1/extensions/plugins裡
- 下載run-sonar-swift.sh 文夾拷貝到swift專案的根目錄下(和你的projext.xcodeproj 檔案同級)
- 下載sonar-project.properties檔案拷貝到swift專案的根目錄下(和你的projext.xcodeproj 檔案同級)
- 編輯sonar-project.properties檔案,根據swift專案修改其中的引數 sonar-project.properties檔案
##########################
# Required configuration #
##########################
# Project key will also be used for binary file
sonar.projectKey=prjKey
sonar.projectName=prjName
sonar.projectVersion=1.0
# Comment if you have a project with mixed ObjC / Swift
sonar.language=swift
# Project description
sonar.projectDescription=prjDescription
# Path to source directories
# 修改為swift的路徑
sonar.sources=SourceDir
# Path to test directories (comment if no test)
sonar.tests=TestDir
# Destination Simulator to run tests
# As string expected in destination argument of xcodebuild command
# Example = sonar.swift.simulator=platform=iOS Simulator,name=iPhone 6,OS=9.2
sonar.swift.simulator=platform=iOS Simulator,name=iPhone 6,OS=9.2
# Xcode project configuration (.xcodeproj)
# and use the later to specify which project(s) to include in the analysis (comma separated list)
# Specify either xcodeproj or xcodeproj + xcworkspace
#指定 xcodeproj 或 xcodeproj + xcworkspace
#sonar.swift.project=MyPrj.xcodeproj
#sonar.swift.workspace=MyWrkSpc.xcworkspace
# Specify your appname.
# This will be something like "myApp"
# Use when basename is different from targeted scheme.
# Or when slather fails with 'No product binary found'
# sonar.swift.appName=myApp
# Scheme to build your application
sonar.swift.appScheme=MyScheme
# Configuration to use for your scheme. if you do not specify that the default will be Debug
sonar.swift.appConfiguration=MyConfiguration
# Encoding of the source code
sonar.sourceEncoding=UTF-8
sonar.swift.excludedPathsFromCoverage=.*Tests.*
sonar.swift.tailor.config=--max-line-length=100 --max-file-length=500 --max-name-length=40 --max-name-length=40 --min-name-length=4
複製程式碼
- 終端命令列開啟swift專案,執行
sonar-scanner
- 分析結束後,終端會顯示比如
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/Kickstarter
,開啟提示的地址,可以看到分析結果。
參考文章