Skip to content

feat: add coverage input from jacoco, cobertura and clover reports - #17

Merged
floriankraemer merged 3 commits into
mainfrom
feat/coverage
Nov 12, 2026
Merged

floriankraemer merged 3 commits into
mainfrom
feat/coverage

Conversation

@floriankraemer

Copy link
Copy Markdown
Owner

Summary

  • New options on analyse and churn: --coverage-jacoco, --coverage-cobertura, --coverage-clover (mutually exclusive, file must exist, exit 1).
  • Readers per format share an XML loader that never loads external entities or DTDs and caps entity expansion.
  • Method line coverage falls back to class coverage; shown as a Line Coverage / Coverage column in console, json, csv, html and markdown only when data is present.
  • Churn fills coverage, riskChurn and riskLevel; console and reports get Risk Churn, Coverage and Risk Level columns.
  • Custom reporters get a nullable coverage on the method input.
  • Coverage is applied after the cache lookup and never stored.

Test plan

  • ./mvnw -B verify (unit, E2E, golden files, JaCoCo, PIT incl. new coverage package)
  • Real JaCoCo XML fixture generated from a fixture class; Cobertura and Clover fixtures for the same class
  • XXE, entity bomb, external DTD, malformed XML, wrong format, exclusivity and missing file cases

@floriankraemer
floriankraemer merged commit a6da6b3 into main Nov 12, 2026
1 check passed
@floriankraemer
floriankraemer deleted the feat/coverage branch November 12, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant