Simple command line application that generates sonars generic issue format based on interlokVerify output.
interlokVerify in the interlok-build-parent uses -configtest
to check the configuration unmarshals. A service will also log a warning if the service has been deprecated. Using log4j2.xml filtering it creates a report.
Example report.txt:
[PayloadFromMetadataService(set-payload)] is a payload-from-metadata-service; use payload-from-template or metadata-to-payload instead.
This application will take that report and create JSON report that can be imported into sonar.
This can be tested in isolation using this project:
.\gradlew run --args="--reportFile ./build/report.txt --outputFile ./build/out.json"
The report generation has also been added to the interlok-build-parent, which exposes a property interlokVerifySonarReport
which means you can use it with the sonar plugin:
sonarqube {
properties {
property "sonar.projectKey", "adaptris-labs_interlok-hello-world"
property "sonar.organization", "adaptris-labs"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.sources", "./src/main/interlok"
property "sonar.tests", "./src/test/interlok"
property "sonar.externalIssuesReportPaths", interlokVerifySonarReport
}
}
A working example can be found at interlok-hello-world