Class BowireReportReader

Namespace
Kuestenlogik.Bowire.Reporting
Assembly
Kuestenlogik.Bowire.dll

Reads the artefacts Bowire writes and folds them into per-service rows (#587).

Deliberately parses the file formats rather than deserialising into the producing packages' types. A rollup exists to answer a question across services, so the reports come from other repositories, other machines and other Bowire versions — assuming the package that wrote a report is loaded in the process reading it would defeat the purpose. It also means a field added upstream doesn't break the reader.

Format detection goes by content, not by file name: CI jobs name these things whatever they like, and a results.json could be any of four shapes.

public static class BowireReportReader
Inheritance
BowireReportReader
Inherited Members

Methods

ReadAsync(IEnumerable<string>, string?, CancellationToken)

Walk roots (files or directories) and assemble the rollup. Every file is read independently: one unreadable or foreign file lands in Skipped and the rest of the portfolio still reports.

public static Task<BowireRollup> ReadAsync(IEnumerable<string> roots, string? serviceOverride = null, CancellationToken ct = default)

Parameters

roots IEnumerable<string>

Files or directories to read.

serviceOverride string

Force every report onto this service name.

ct CancellationToken

Cancels the walk.

Returns

Task<BowireRollup>