Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Static Analysis & Code Quality
  3. Violations Lib

Violations Lib

Apache-2.0Java1.160.5

A Java library for parsing static code analysis reports from 79+ tools into a unified format.

GitHubGitHub
159 stars41 forks0 contributors

What is Violations Lib?

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.

Target Audience

Java developers and DevOps engineers building CI/CD pipelines, code quality dashboards, or tools that need to aggregate results from multiple static analysis tools.

Value Proposition

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.

Overview

Java library for parsing report files from static code analysis.

Use Cases

Best For

  • Aggregating code quality reports from multiple linters in a CI pipeline
  • Converting static analysis output to SARIF for GitHub code scanning
  • Building custom code quality dashboards that consume diverse tool outputs
  • Integrating lint results into GitLab via CodeClimate format
  • Creating plugins for build tools (Gradle, Maven) that process analysis reports
  • Developing tools that need to parse and process violations from many different analyzers

Not Ideal For

  • Projects relying exclusively on a single static analysis tool with no need for report aggregation
  • Real-time code analysis or IDE integration, as it's designed for batch processing of report files
  • Non-Java ecosystems where adding a Java dependency is impractical, such as pure Python or Node.js CI/CD pipelines

Pros & Cons

Pros

Extensive Tool Coverage

Supports parsing reports from 79+ static analysis tools across languages like Java, Python, and JavaScript, with 52 dedicated parsers listed in the detailed table.

Unified Data Model

Converts diverse report formats into a consistent Violation object, simplifying post-processing and integration into CI/CD systems, as highlighted in the philosophy section.

Fluent Builder API

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()`.

Export to Standard Formats

Can export violations to CodeClimate and SARIF formats, enabling integration with platforms like GitLab and GitHub, as mentioned in the export capabilities section.

Cons

Java Dependency Overhead

Requires a Java runtime and build tool integration, making it cumbersome for non-Java projects or lightweight scripts that prefer native solutions.

Parser-Specific Configuration

Many parsers need source tools to be run with specific flags (e.g., `cppcheck --xml`), adding setup complexity and potential for misconfiguration.

Version Fragmentation

Different library versions require different Java versions (8 vs 11), complicating upgrades and cross-version compatibility in mixed environments.

Frequently Asked Questions

Quick Stats

Stars159
Forks41
Contributors0
Open Issues10
Last commit2 months ago
CreatedSince 2016

Tags

#phpcs#clang#java-library#devops#swiftlint#static-code-analysis#codeclimate#ci-cd#code-quality#checkstyle#eslint#linting

Built With

J
Java

Included in

Static Analysis & Code Quality14.5k
Auto-fetched 1 day ago

Related Projects

GitleaksGitleaks

Find secrets with Gitleaks 🔑

Stars27,407
Forks2,079
Last commit1 day ago
PHP ParserPHP Parser

A PHP parser written in PHP

Stars17,439
Forks1,121
Last commit3 months ago
TypeScript ESLintTypeScript ESLint

:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript

Stars16,266
Forks2,910
Last commit1 day ago
pyrightpyright

Static Type Checker for Python

Stars15,462
Forks1,785
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub