Feature Description
Provide a “doctor” mode that prints resolved configuration and common failure checks for both CLI usage and sbt plugin usage (e.g. --diagnostics and jmfDoctor).
Problem / Opportunity
- When coverage output is wrong, users don’t know if the rewriter ran, rules matched, paths were correct, or JaCoCo used filtered classes.
- Debugging integration issues currently requires reading plugin internals or enabling ad-hoc logging.
Acceptance Criteria
- CLI diagnostics prints: resolved --in, --out, --rules, number of class files scanned, number of methods marked, and (optional) a few sample matches.
- sbt task prints: resolved rules file path, input/output class directories per module, whether enabled, and where reports will be generated.
- Diagnostics output is stable and copy-pasteable into bug reports.
- Diagnostics mode does not modify classes unless explicitly requested (safe by default).
Proposed Solution
- Add a structured, human-readable report (and optionally JSON) for troubleshooting.
- Reuse the same underlying reporting logic in CLI and sbt plugin when possible.
Dependencies / Related
Complements the existing dry-run functionality; not the same as #6/#16/#17.
Additional Context
This should reduce support load and speed up adoption in CI pipelines.
Feature Description
Provide a “doctor” mode that prints resolved configuration and common failure checks for both CLI usage and sbt plugin usage (e.g. --diagnostics and jmfDoctor).
Problem / Opportunity
Acceptance Criteria
Proposed Solution
Dependencies / Related
Complements the existing dry-run functionality; not the same as #6/#16/#17.
Additional Context
This should reduce support load and speed up adoption in CI pipelines.