Team,
error: Unknown report version: 2.0.3. This parser only handles version 1.
step 1 : we have bazel setup for repo that generates .dat file in lcov format but sonarqube does not accept this.
./bazel coverage --config=gocov //src/services/guava/... --collect_code_coverage --combined_report=lcov
Command> cat bazel-out/_coverage/_coverage_report.dat
TN:
SF:src/services/guava/keys/keys.go
DA:16,1
DA:17,1
step 2: so I converted this .dat file to .xml using the python
#pip install lcov_cobertura
#lcov_cobertura bazel-out/_coverage/_coverage_report.dat
coverage.xml
cat coverage.xml
<?xml version="1.0" ?>
<!DOCTYPE coverage
SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage branch-rate="0.0" branches-covered="0" branches-valid="0" complexity="0" line-rate="0.5936254980079682" lines-covered="447" lines-valid="753" timestamp="1672173715" version="2.0.3">
<sources>
<source>.</source>
</sources>
<packages>
<package line-rate="0.7614678899082569" branch-rate="0.0" name="src.services.guava.keys" complexity="0">
<classes>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/keys/keys.go" line-rate="0.7614678899082569" name="src.services.guava.keys.keys.go">
<methods/>
<lines>
<line branch="false" hits="1" number="16"/>
</lines>
</class>
</classes>
</package>
<package line-rate="0.744" branch-rate="0.0" name="src.services.guava.server" complexity="0">
<classes>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/server/server.go" line-rate="0.744" name="src.services.guava.server.server.go">
<methods/>
<lines>
<line branch="false" hits="1" number="56"/>
<line branch="false" hits="1" number="349"/>
<line branch="false" hits="1" number="350"/>
<line branch="false" hits="1" number="352"/>
</lines>
</class>
</classes>
</package>
<package line-rate="0.5816326530612245" branch-rate="0.0" name="src.services.guava.store.postgres" complexity="0">
<classes>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/store/postgres/transaction.go" line-rate="0.5816326530612245" name="src.services.guava.store.postgres.transaction.go">
<methods/>
<lines>
<line branch="false" hits="1" number="19"/>
<line branch="false" hits="1" number="152"/>
<line branch="false" hits="1" number="153"/>
</lines>
</class>
</classes>
</package>
<package line-rate="0.23529411764705882" branch-rate="0.0" name="src.services.guava.tools.keyrotate" complexity="0">
<classes>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/tools/keyrotate/cmd_get.go" line-rate="0.0" name="src.services.guava.tools.keyrotate.cmd_get.go">
<methods/>
<lines>
<line branch="false" hits="0" number="16"/>
<line branch="false" hits="0" number="17"/>
</lines>
</class>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/tools/keyrotate/cmd_rotate.go" line-rate="0.72" name="src.services.guava.tools.keyrotate.cmd_rotate.go">
<methods/>
<lines>
<line branch="false" hits="1" number="16"/>
<line branch="false" hits="1" number="75"/>
</lines>
</class>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/tools/keyrotate/main.go" line-rate="0.0" name="src.services.guava.tools.keyrotate.main.go">
<methods/>
<lines>
<line branch="false" hits="0" number="35"/>
<line branch="false" hits="0" number="123"/>
</lines>
</class>
</classes>
</package>
<package line-rate="0.5944055944055944" branch-rate="0.0" name="src.services.guava.vault" complexity="0">
<classes>
<class branch-rate="0.0" complexity="0" filename="src/services/guava/vault/vault.go" line-rate="0.5944055944055944" name="src.services.guava.vault.vault.go">
<methods/>
<lines> <line branch="false" hits="1" number="252"/>
<line branch="false" hits="1" number="253"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>
step 3 : Run scan with this coverage report and scanner complains
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 19.665s
INFO: Final Memory: 33M/124M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
ERROR: Error during parsing of the generic coverage report '/Users/coverage.xml'. Look at SonarQube documentation to know the expected XML format.
ERROR: Caused by: Unknown report version: 2.0.3. This parser only handles version 1.