This is a Java library for parsing report files from static code analysis.
It supports:
- AndroidLint
- Checkstyle
- CLang
- RubyCop with
rubycop -f clang file.rb
- RubyCop with
- CodeNarc
- CPD
- CPPLint
- CPPCheck
- CSSLint
- DocFX
- Findbugs
- Flake8
- AnsibleLint with
-p
- Mccabe
- Pep8
- PyFlakes
- AnsibleLint with
- FxCop
- Gendarme
- GoLint
- GoVet Same format as GoLint.
- GoogleErrorProne
- NullAway Same format as Google Error Prone.
- JSHint
- Lint A common XML format, used by different linters.
- JCReport
- Klocwork
- MyPy
- PCLint PC-Lint using the same output format as the Jenkins warnings plugin, details here
- PerlCritic
- PiTest
- PyDocStyle
- PyLint with
pylint --output-format=parseable
. - PMD
- ReSharper
- SbtScalac
- Simian
- StyleCop
- XMLLint
- ZPTLint
Example reports are available in the test resources, examples of how to generate them are available here.
Very easy to use with a nice builder pattern
List<Violation> violations = violationsReporterApi() //
.withPattern(".*/findbugs/.*\\.xml$") //
.inFolder(rootFolder) //
.findAll(FINDBUGS) //
.violations();
The library is used in a bunch of other projects, these are some of them.
Gradle:
- Violation Comments to GitHub Gradle Plugin.
- Violation Comments to GitLab Gradle Plugin.
- Violations Gradle Plugin.
Maven:
- Violation Comments to GitHub Maven Plugin.
- Violation Comments to GitLab Maven Plugin.
- Violations Maven Plugin.
Jenkins:
- Violation Comments to GitHub Jenkins Plugin.
- Violation Comments to GitLab Jenkins Plugin.
- Violation Comments to Bitbucket Server Jenkins Plugin.
And these supporting libraries: