java.lang.Object
io.github.duckasteroid.gradle.versioning.releaseflow.VersionReport

public final class VersionReport extends Object
Shared per-module version-analysis snapshot behind explainVersion/explainVersions - both tasks' console output and their build/version-report.json file are built from exactly the same VersionReport.Entry, so the two can never drift from each other, and buildEntry(java.lang.String, java.io.File, java.lang.String, java.lang.String, java.util.List<java.lang.String>, java.util.Map<io.github.duckasteroid.gradle.versioning.CommitAnalyzer.Bump, java.util.Set<java.lang.String>>, java.util.List<java.lang.String>, java.lang.String, java.lang.String) calls the exact same VersionResolver methods tagReleaseCandidate(s) itself calls, so the preview can never drift from what tagging would actually do either.

A plain class with no Gradle dependency, like VersionResolver/CommitAnalyzer/ ReleaseManifest - independently unit-testable against a real throwaway git repo.