Я делаю анализ кода Objective-C с помощью sonarqube
. Конфигурации, как показано ниже:Sonarqube не импортирует проблемы, о которых сообщает OCLint
SonarQube 5.4 Objective-C (сообщество) 5.0.0 Xcode 6 xctool OCLint 0.10.2
OCLint
делает анализ и кладет его к сонара-отчетов/oclint.xml
. Но на приборной панели сонара ничего не происходит.
Ниже журнала:
Running run-sonar.sh...
Xcode workspace file is:
Xcode project file is: demo.xcodeproj
Xcode application scheme is: demo
Xcode test scheme is:
Excluded paths from coverage are:
-n Extracting Xcode project information
+ xctool -project demo.xcodeproj -sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386 CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -scheme demo clean
[Info] Loading settings for scheme 'demo' ... (3057 ms)
=== CLEAN ===
xcodebuild clean demo
demo/demo (Debug)
✓ Check dependencies (363 ms)
✓ Remove demo.app (73 ms)
✓ Remove demo.app.dSYM (73 ms)
✓ Remove demo.build (132 ms)
0 errored, 0 warning (526 ms)
demo/demoTests (Debug)
✓ Check dependencies (0 ms)
✓ Remove demoTests.xctest (1 ms)
✓ Remove demoTests.xctest.dSYM (1 ms)
✓ Remove demoTests.build (3 ms)
0 errored, 0 warning (5 ms)
xcodebuild build clean
demo/demo (Debug)
✓ Check dependencies (119 ms)
✓ Create product structure (0 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/bin/mkdir -p /Users/vikas/Library/Developer/Xcode/DerivedData/demo-bjvmeyunxomqaoezclqtsosfosgc/Build/Products/Debug-iphonesimulator/demo.app
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Remove demo.app.dSYM (0 ms)
✓ Remove demo.build (0 ms)
✓ Remove demo.app (1 ms)
0 errored, 0 warning (124 ms)
demo/demoTests (Debug)
✓ Check dependencies (0 ms)
✓ Create product structure (0 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/bin/mkdir -p /Users/vikas/Library/Developer/Xcode/DerivedData/demo-bjvmeyunxomqaoezclqtsosfosgc/Build/Products/Debug-iphonesimulator/demoTests.xctest
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Remove demoTests.xctest (0 ms)
✓ Remove demoTests.xctest.dSYM (0 ms)
✓ Remove demoTests.build (0 ms)
0 errored, 0 warning (3 ms)
** CLEAN SUCCEEDED ** (2229 ms)
+ returnValue=0
+ set +x
+ xctool -project demo.xcodeproj -sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386 CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -scheme demo -reporter json-compilation-database:compile_commands.json build
+ returnValue=0
+ set +x
Skipping tests as no test scheme has been provided!
-n Running OCLint...
-n Path included in oclint analysis is: --include .*/demo/demo/..
+ oclint-json-compilation-database --include ../demo/demo/.. -- -max-priority-1 10000 -max-priority-2 10000 -max-priority-3 10000 -report-type pmd -o sonar-reports/oclint.xml
+ returnValue=0
+ set +x
-n Running SonarQube using SonarQube Runner
+ sonar-runner -X
INFO: Scanner configuration file: /usr/local/Cellar/sonar-runner/2.5/libexec/conf/sonar-runner.properties
INFO: Project configuration file: /Users/vikas/Documents/projects/demo/sonar-project.properties
INFO: SonarQube Scanner 2.5
INFO: Java 1.8.0_25 Oracle Corporation (64-bit)
INFO: Mac OS X 10.10.2 x86_64
INFO: Error stacktraces are turned on.
DEBUG: cache: /Users/vikas/.sonar/ws_cache/http%3A%2F%2Flocalhost%3A9000/global
INFO: User cache: /Users/vikas/.sonar/cache
DEBUG: Extract sonar-runner-batch in temp...
DEBUG: Get bootstrap index...
DEBUG: Download: http://localhost:9000/batch_bootstrap/index
DEBUG: Get bootstrap completed
DEBUG: Create isolated classloader...
DEBUG: Start temp cleaning...
DEBUG: Temp cleaning done
DEBUG: Execution getVersion
DEBUG: Execution start
DEBUG: Publish global mode
DEBUG: cache: /Users/vikas/.sonar/ws_cache/http%3A%2F%2Flocalhost%3A9000/global
INFO: Load global repositories
DEBUG: GET 200 http://localhost:9000/batch/global | time=121ms
INFO: Load global repositories (done) | time=532ms
INFO: User cache: /Users/vikas/.sonar/cache
INFO: Load plugins index
DEBUG: GET 200 http://localhost:9000/deploy/plugins/index.txt | time=6ms
INFO: Load plugins index (done) | time=7ms
DEBUG: Load plugins
DEBUG: Load plugins (done) | time=325ms
DEBUG: API compatibility mode is enabled on plugin C# [csharp] (built with API lower than 5.2)
DEBUG: API compatibility mode is enabled on plugin Java [java] (built with API lower than 5.2)
DEBUG: API compatibility mode is enabled on plugin Git [scmgit] (built with API lower than 5.2)
DEBUG: API compatibility mode is enabled on plugin Objective-C (Community) [objectivec] (built with API lower than 5.2)
DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn] (built with API lower than 5.2)
DEBUG: API compatibility mode is enabled on plugin JavaScript [javascript] (built with API lower than 5.2)
DEBUG: Plugins:
DEBUG: * C# 4.4 (csharp)
DEBUG: * Java 3.10 (java)
DEBUG: * Git 1.0 (scmgit)
DEBUG: * Objective-C (Community) 0.5.0-SNAPSHOT (objectivec)
DEBUG: * SVN 1.2 (scmsvn)
DEBUG: * JavaScript 2.10 (javascript)
INFO: Default locale: "en_US", source code encoding: "UTF-8"
DEBUG: Work directory: /Users/vikas/Documents/projects/demo/.sonar
DEBUG: Execution getVersion
DEBUG: Execution execute
INFO: Process project properties
DEBUG: Process project properties (done) | time=3ms
DEBUG: cache: /Users/vikas/.sonar/ws_cache/http%3A%2F%2Flocalhost%3A9000/5.4/projects/OCD1
INFO: Load project repositories
DEBUG: GET 404 http://localhost:9000/batch/project.protobuf?key=OCD1 | time=56ms
DEBUG: Project repository not available - continuing without it
INFO: Load project repositories (done) | time=87ms
INFO: Apply project exclusions
DEBUG: Available languages:
DEBUG: * C# => "cs"
DEBUG: * Java => "java"
DEBUG: * Objective-C (Community) => "objectivec"
DEBUG: * JavaScript => "js"
INFO: Load quality profiles
DEBUG: GET 200 http://localhost:9000/api/qualityprofiles/search.protobuf?defaults=true | time=83ms
INFO: Load quality profiles (done) | time=294ms
INFO: Load active rules
DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cs-sonar-way-37148&p=1&ps=500 | time=43ms
DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=java-sonar-way-46287&p=1&ps=500 | time=36ms
DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=js-sonar-way-89672&p=1&ps=500 | time=39ms
DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=objectivec-oclint-09271&p=1&ps=500 | time=48ms
INFO: Load active rules (done) | time=758ms
INFO: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
INFO: Publish mode
DEBUG: Start recursive analysis of project modules
INFO: ------------- Scan OCDemo
INFO: Language is forced to objectivec
INFO: Load server rules
DEBUG: GET 200 http://localhost:9000/api/rules/list.protobuf | time=361ms
INFO: Load server rules (done) | time=474ms
DEBUG: Initializers :
INFO: Base dir: /Users/vikas/Documents/projects/demo
INFO: Working dir: /Users/vikas/Documents/projects/demo/.sonar
INFO: Source paths: .
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
DEBUG: Declared extensions of language C# were converted to sonar.lang.patterns.cs : **/*.cs
DEBUG: Declared extensions of language Java were converted to sonar.lang.patterns.java : **/*.java,**/*.jav
DEBUG: Declared extensions of language Objective-C (Community) were converted to sonar.lang.patterns.objectivec : **/*.h,**/*.m
DEBUG: Declared extensions of language JavaScript were converted to sonar.lang.patterns.js : **/*.js
DEBUG: Language of file 'demo/AppDelegate.h' is detected to be 'objectivec'
DEBUG: Language of file 'demo/AppDelegate.m' is detected to be 'objectivec'
DEBUG: Language of file 'demo/main.m' is detected to be 'objectivec'
DEBUG: Language of file 'demo/ViewController.m' is detected to be 'objectivec'
DEBUG: Language of file 'demo/ViewController.h' is detected to be 'objectivec'
DEBUG: Language of file 'demoTests/demoTests.m' is detected to be 'objectivec'
INFO: 6 files indexed
INFO: Quality profile for objectivec: OCLint
INFO: JaCoCoSensor: JaCoCo report not found : /Users/vikas/Documents/projects/demo/target/jacoco.exec
INFO: JaCoCoItSensor: JaCoCo IT report not found: /Users/vikas/Documents/projects/demo/target/jacoco-it.exec
DEBUG: Code colorizer, supported languages: cs,objectivec
DEBUG: Sensors : Lines Sensor (wrapped) -> QProfileSensor -> Objective-C Squid Sensor -> SCM Sensor (wrapped) -> Code Colorizer Sensor (wrapped) -> CPD Sensor (wrapped)
INFO: Sensor Lines Sensor (wrapped)
INFO: Sensor Lines Sensor (wrapped) (done) | time=121ms
INFO: Sensor QProfileSensor
INFO: Sensor QProfileSensor (done) | time=5ms
INFO: Sensor Objective-C Squid Sensor
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
DEBUG: Metric lines is an internal metric computed by SonarQube. Provided value is ignored.
INFO: Sensor Objective-C Squid Sensor (done) | time=256ms
INFO: Sensor SCM Sensor (wrapped)
INFO: No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
INFO: Sensor SCM Sensor (wrapped) (done) | time=0ms
INFO: Sensor Code Colorizer Sensor (wrapped)
INFO: Sensor Code Colorizer Sensor (wrapped) (done) | time=232ms
INFO: Sensor CPD Sensor (wrapped)
INFO: DefaultCpdIndexer is used for objectivec
DEBUG: Populating index from [moduleKey=OCD1, relative=demo/AppDelegate.h, basedir=/Users/vikas/Documents/projects/demo]
DEBUG: Populating index from [moduleKey=OCD1, relative=demo/AppDelegate.m, basedir=/Users/vikas/Documents/projects/demo]
DEBUG: Populating index from [moduleKey=OCD1, relative=demo/ViewController.h, basedir=/Users/vikas/Documents/projects/demo]
DEBUG: Populating index from [moduleKey=OCD1, relative=demo/ViewController.m, basedir=/Users/vikas/Documents/projects/demo]
DEBUG: Populating index from [moduleKey=OCD1, relative=demo/main.m, basedir=/Users/vikas/Documents/projects/demo]
DEBUG: Populating index from [moduleKey=OCD1, relative=demoTests/demoTests.m, basedir=/Users/vikas/Documents/projects/demo]
INFO: Sensor CPD Sensor (wrapped) (done) | time=29ms
DEBUG: Detection of duplications for OCD1:demo/ViewController.m
DEBUG: Detection of duplications for OCD1:demo/AppDelegate.m
DEBUG: Detection of duplications for OCD1:demoTests/demoTests.m
INFO: Analysis report generated in 70ms, dir size=11 KB
INFO: Analysis reports compressed in 54ms, zip size=10 KB
DEBUG: Upload report
DEBUG: POST 200 http://localhost:9000/api/ce/submit?projectKey=OCD1&projectName=OCDemo | time=416ms
INFO: Analysis report uploaded in 436ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/OCD1
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AVR6giSDVdsGRifC8N_i
DEBUG: Report metadata written to /Users/vikas/Documents/projects/demo/.sonar/report-task.txt
DEBUG: Post-jobs :
INFO: Analysis report generated in /Users/vikas/Documents/projects/demo/.sonar/batch-report
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 14.414s
INFO: Final Memory: 41M/134M
INFO: ------------------------------------------------------------------------
DEBUG: Execution getVersion
DEBUG: Execution stop
+ returnValue=0
+ set +x
Как вы установили родительский профиль Oclit-> Objective-C? Можете ли вы назвать шаги? –
Вы можете установить его в Quality Profile-> Objective C -> Objective C. Существует кнопка с именем change parent. –