Where I wrap my xcode clean test command with your buildwrapper.
However I get an error:
The “build-wrapper-dump.json” file was found empty.
At this point, I’m unsure how to proceed.
I have a working xcode build command, which outputs coverage data into a xcresult file, which I can open and verify in xcode.
I’m able to convert that xcresult file into xml using your script xccov-to-sonarqube-generic.sh, however this step is really painfully slow on my mac m1 air.
Any help on steps to try is appreciated.
The goal is ending up with coverage data in sonarcloud for swift and objective-c and c++ files.
It’s not possible to add coverage to files that aren’t analyzed by the scanner.
What issues are you facing using the build wrapper? There’s a lot of value in the analysis, and rather than focusing just on coverage data it would be great to have it all working end-to-end for you
You are using apple m1. build-wrapper still doesn’t support it. Ticket.
We support a compilation database(which can be generated by many tools) as an alternative to build-wrapper to unblock such cases.
Have a look at this blog post and the documentation:
when running sonar-scanner after I eventually get:
java.lang.IllegalArgumentException: Start pointer [line=1545, lineOffset=4] should be before end pointer [line=1545, lineOffset=4]
ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: java.lang.IllegalArgumentException: Start pointer [line=1545, lineOffset=4] should be before end pointer [line=1545, lineOffset=4]
at com.sonar.cpp.analyzer.AnalysisExecutor.submit(AnalysisExecutor.java:53)
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:757)
at com.sonar.cpp.plugin.CFamilySensor.lambda$process$12(CFamilySensor.java:643)
at com.sonar.cpp.plugin.CompileCommandsReader.readCaptures(CompileCommandsReader.java:41)
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:625)
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:412)
at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:181)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:62)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:51)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:440)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:436)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:394)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalArgumentException: Start pointer [line=1545, lineOffset=4] should be before end pointer [line=1545, lineOffset=4]
at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:334)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:275)
at com.sonar.cpp.plugin.CFamilySensor.rangeOrNull(CFamilySensor.java:1078)
at com.sonar.cpp.plugin.CFamilySensor.saveSymbols(CFamilySensor.java:1051)
at com.sonar.cpp.plugin.CFamilySensor.save(CFamilySensor.java:824)
at com.sonar.cpp.plugin.CFamilySensor.lambda$process$14(CFamilySensor.java:768)
at com.sonar.cpp.analyzer.AnalysisExecutor.lambda$submit$0(AnalysisExecutor.java:59)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)