【发布时间】:2018-07-02 18:33:07
【问题描述】:
当我尝试使用声纳扫描仪发送 python 项目时,它会抛出异常:
Caused by: java.lang.IllegalStateException: Unknown report version: 4.4.2.
This parser only handles version 1.".
在尝试引入封面之前,项目运行正常,项目是python代码,报告是用django-nose创建的。
更多信息:
- 声纳版本:6.7.1
- 声纳扫描器命令:
sonar-scanner -Dsonar.projectKey=nanas -Dsonar.host.url=http://192.168.0.1:9001 -Dsonar.login=F00B4Z - 声纳不通过代理运行
我附上了django-nose生成的声纳项目配置文件和覆盖xml文件。
例外:
12:53:31.919 ERROR: Error during SonarQube Scanner execution
Error during parsing of the generic coverage report '/home/bamboo-home/xml-data/build-dir/NAN-CI6-JOB1/xmlrunner/coverage.xml'. Look at SonarQube documentation to know the expected XML format.
Caused by: java.lang.IllegalStateException: Unknown report version: 4.4.2. This parser only handles version 1.
at org.sonar.scanner.genericcoverage.GenericCoverageReportParser.parseRootNode(GenericCoverageReportParser.java:72)
at org.sonar.scanner.genericcoverage.GenericCoverageReportParser.lambda$parse$0(GenericCoverageReportParser.java:64)
at org.sonar.api.utils.StaxParser.parse(StaxParser.java:115)
at org.sonar.api.utils.StaxParser.parse(StaxParser.java:95)
at org.sonar.scanner.genericcoverage.GenericCoverageReportParser.parse(GenericCoverageReportParser.java:65)
at org.sonar.scanner.genericcoverage.GenericCoverageReportParser.parse(GenericCoverageReportParser.java:54)
at org.sonar.scanner.genericcoverage.GenericCoverageSensor.execute(GenericCoverageSensor.java:109)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:88)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:180)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:288)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:283)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:261)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48)
at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121)
at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:111)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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:233)
at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
配置:
sonar.projectKey=nanas
sonar.projectName=Nanas
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=nucleo, app_administrador, app_cliente, app_gestor_de_citas, app_nana, app_test, django_gae_emailbackend
sonar.exclusions=**/tests/**, **/static/**/template/**, **/migrations/**, **/__pycache__/**, **/__init__.*
sonar.tests=xmlrunner/nosetests.xml
sonar.genericcoverage.reportPaths=xmlrunner/coverage.xml
sonar.python.coveragePlugin=cobertura
sonar.coverage.dtdVerification=false
Coverage.xml 标头:
<?xml version="1.0" ?>
<coverage branch-rate="0" branches-covered="0" branches-valid="0" complexity="0" line-rate="0.5905" lines-covered="1142" lines-valid="1934" timestamp="1516639621366" version="4.4.2">
<!-- Generated by coverage.py: https://coverage.readthedocs.io -->
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
<sources>
我已根据指示配置扫描仪,并将插件更新到 1.9 版,但现在它会生成行数错误。我已经在几个网站上搜索了解决方案,几乎所有内容都归结为添加一个空行,但这不起作用。
运行测试:
nosetests --with-coverage --cover-package=app_administrador,app_cliente,app_nana,app_test,app_gestor_de_citas,nucleo --cover-erase --cover-xml --with-xunit --xunit-file=xmlrunner/nosetests.xml --cover-xml-file=xmlrunner/coverage.xml --attr=!pendiente --verbosity=1
运行声纳:
sonar-scanner -Dsonar.projectKey=nana -Dsonar.host.url=http://192.168.0.15:9001 -Dsonar.login=*********
sonar-project.properties
sonar.projectKey=nanas
sonar.projectName=nanas
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=nucleo, app_administrador, app_cliente, app_gestor_de_citas, app_nana, app_test, django_gae_emailbackend
sonar.exclusions=**/tests/**, **/static/**/template/**, **/migrations/**, **/__pycache__/**, **/admin.py
sonar.tests=xmlrunner/nosetests.xml
sonar.python.coverage.reportPath=xmlrunner/coverage.xml
错误:
ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Line 21 is out of range in the file app_administrador/middleware.py (lines: 19)
at org.sonar.api.internal.google.common.base.Preconditions.checkState(Preconditions.java:197)
Python 插件
【问题讨论】:
标签: python django sonarqube code-coverage