Hi, I’m trying to run the swift sonar-scanner example locally (with the goal being to use Bamboo to generate reports for our projects)
I follow the steps in the example (sonar-scanning-examples/swift-coverage at master · SonarSource/sonar-scanning-examples · GitHub) and the scan runs, but zero lines of code are found in the analysis report. Since it’s a sample project, there are no branches except for “master”
- I’m using * Community Edition * Version 8.4.1 (build 35646)
INFO: SonarScanner 4.6.2.2472
INFO: Java 15.0.2 N/A (64-bit)
INFO: Mac OS X 10.15.7 x86_64
Xcode 12.3
I see in the logs that the files intended to be covered are being skipped.
INFO: Parsing /Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/sonarqube-generic-coverage.xml
INFO: Imported coverage data for 0 files
INFO: Coverage data ignored for 3 unknown files, including:
/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-example/AppDelegate2.swift
/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-exampleTests/swift_coverage_exampleTests.swift
/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-example/AppDelegate.swift
INFO: Sensor Generic Coverage Report (done) | time=14ms
INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=2ms
INFO: CPD Executor Calculating CPD for 0 files
INFO: CPD Executor CPD calculation finished (done) | time=0ms
INFO: Analysis report generated in 85ms, dir size=79 KB
INFO: Analysis report compressed in 16ms, zip size=10 KB
INFO: Analysis report uploaded in 48ms
INFO: ANALYSIS SUCCESSFUL
All of the paths are correct.
egoldstein-MacBook-Pro swift-coverage/swift-coverage-example ‹master*› » pwd
/Users/egoldstein/desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example
egoldstein-MacBook-Pro swift-coverage/swift-coverage-example ‹master*› » ls
. .scannerwork info.plist swift-coverage-example.xcodeproj
.. Build sonar-project.properties swift-coverage-exampleTests
.DS_Store action.xccovarchive sonarqube-generic-coverage.xml xccov-to-sonarqube-generic.sh
.gitignore action.xccovreport swift-coverage-example
The three commands I run are:
xcodebuild -project swift-coverage-example.xcodeproj/ -scheme swift-coverage-example -derivedDataPath Build/ -enableCodeCoverage YES clean build test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
bash xccov-to-sonarqube-generic.sh Build/Logs/Test/*.xcresult/ > sonarqube-generic-coverage.xml
sonar-scanner -Dsonar.projectKey=TestCoverage -Dsonar.sources=. -Dsonar.coverageReportPaths=sonarqube-generic-coverage.xml -Dsonar.cfamily.build-wrapper-output.bypass=true
I can also confirm sonarqube-generic-coverage.xml has content that looks good to me:
<coverage version = “1” >
**<file** path **=** "/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-example/AppDelegate2.swift" **>**
**<lineToCover** lineNumber **=** "11" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "12" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "13" covered **=** "false" **/>**
**<lineToCover** lineNumber **=** "14" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "15" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "16" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "17" covered **=** "true" **/>**
**</file>**
**<file** path **=** "/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-exampleTests/swift_coverage_exampleTests.swift" **>**
**<lineToCover** lineNumber **=** "14" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "15" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "16" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "18" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "19" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "20" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "21" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "23" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "24" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "25" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "26" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "28" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "29" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "30" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "31" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "32" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "33" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "35" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "36" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "37" covered **=** "true" **/>**
**</file>**
**<file** path **=** "/Users/egoldstein/Desktop/sonar-scanning-examples/swift-coverage/swift-coverage-example/swift-coverage-example/AppDelegate.swift" **>**
**<lineToCover** lineNumber **=** "17" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "18" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "19" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "21" covered **=** "false" **/>**
**<lineToCover** lineNumber **=** "22" covered **=** "false" **/>**
**<lineToCover** lineNumber **=** "23" covered **=** "false" **/>**
**<lineToCover** lineNumber **=** "29" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "30" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "31" covered **=** "false" **/>**
**<lineToCover** lineNumber **=** "32" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "33" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "34" covered **=** "true" **/>**
**<lineToCover** lineNumber **=** "35" covered **=** "true" **/>**
**</file>**
**</coverage>**
Any suggestions for additional troubleshooting are welcome!