sonar-fsharpsecurity-plugin
sonar-fsharpsecurity-plugin copied to clipboard
Content not allowed in prolog error when running plugin
The following error is raised when running the plugin as it is currently written. Cause appears to be that there's a BOM in the output XML from the F# plugin. While this is totally legal for UTF-8 encoded XML, there's a gazillion bug reports out there that many Java XML readers cannot read such UTF-8 XML files.
ERROR: SonarQube Community F# plugin analyzis failed
java.lang.RuntimeException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
at com.google.common.base.Throwables.propagate(Throwables.java:155)
at org.sonar.plugins.fsharp.FSharpAnalysisResultImporter$Parser.parse(FSharpAnalysisResultImporter.java:106)
at org.sonar.plugins.fsharp.FSharpAnalysisResultImporter.parse(FSharpAnalysisResultImporter.java:86)
at org.sonar.plugins.fsharp.FSharpSensor.importResults(FSharpSensor.java:154)
at org.sonar.plugins.fsharp.FSharpSensor.execute(FSharpSensor.java:112)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
INFO: Reading analysis file: D:\Projects\Lula\risk-assessment\.sonarqube\out\.sonar\mod3\sonarDiagnostics.xml
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:81)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:392)
at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:388)
at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:385)
at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:357)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
INFO: Sensor F# [fsharpsecurity] (done) | time=11242ms
at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:134)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
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(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
INFO: Sensor JaCoCo XML Report Importer [jacoco]
at jdk.proxy1/jdk.proxy1.$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: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:652)
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
at org.sonar.plugins.fsharp.FSharpAnalysisResultImporter$Parser.readRoot(FSharpAnalysisResultImporter.java:131)
at org.sonar.plugins.fsharp.FSharpAnalysisResultImporter$Parser.parse(FSharpAnalysisResultImporter.java:104)
... 34 common frames omitted
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
....
This is fixed in #10. Use that PR to be able to successfully compile and run this otherwise excellent plugin.