A Java library for parsing static code analysis reports from 79+ tools into a unified format.
Violations Lib is a Java library that parses output files from static code analysis tools into a unified data model. It solves the problem of dealing with dozens of different report formats by providing a single API to read violations from tools like Checkstyle, PMD, ESLint, and many others. This enables consistent processing, reporting, and integration of code quality feedback across projects.
Java developers and DevOps engineers building CI/CD pipelines, code quality dashboards, or tools that need to aggregate results from multiple static analysis tools.
Developers choose Violations Lib because it offers the broadest support for static analysis report formats in a single Java library, with a clean API and the ability to export to standard formats like SARIF and CodeClimate for platform integration.
Java library for parsing report files from static code analysis.
Supports parsing reports from 79+ static analysis tools across languages like Java, Python, and JavaScript, with 52 dedicated parsers listed in the detailed table.
Converts diverse report formats into a consistent Violation object, simplifying post-processing and integration into CI/CD systems, as highlighted in the philosophy section.
Offers an easy-to-use Java API with a builder pattern for locating and parsing files, demonstrated in the usage example with methods like `withPattern()` and `findAll()`.
Can export violations to CodeClimate and SARIF formats, enabling integration with platforms like GitLab and GitHub, as mentioned in the export capabilities section.
Requires a Java runtime and build tool integration, making it cumbersome for non-Java projects or lightweight scripts that prefer native solutions.
Many parsers need source tools to be run with specific flags (e.g., `cppcheck --xml`), adding setup complexity and potential for misconfiguration.
Different library versions require different Java versions (8 vs 11), complicating upgrades and cross-version compatibility in mixed environments.
Find secrets with Gitleaks 🔑
A PHP parser written in PHP
:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript
Static Type Checker for Python
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.