BuildReport Pennington.Generation
Aggregated result of a static build run, including diagnostics, broken links, and per-page outcomes.
Properties
BrokenLinksSystem.Collections.Immutable.ImmutableList<Pennington.Generation.BrokenLink>- Broken links discovered by link verification.
DiagnosticsSystem.Collections.Immutable.ImmutableList<Pennington.Generation.BuildDiagnostic>- Diagnostics recorded during the build.
DurationSystem.TimeSpan- Total wall-clock duration of the build.
FailedPagesSystem.Collections.Immutable.ImmutableList<Pennington.Routing.ContentRoute>- Routes whose generation failed.
GeneratedPagesSystem.Collections.Immutable.ImmutableList<Pennington.Routing.ContentRoute>- Routes that were successfully written to the output directory.
HasErrorsbool- True when the build produced any errors, failed pages, or broken links.
SkippedPagesSystem.Collections.Immutable.ImmutableList<Pennington.Routing.ContentRoute>- Routes that were skipped (typically drafts).
TotalPagesint- Total number of pages considered, including generated, skipped, and failed.
Constructors
.ctor
#public BuildReport(
ImmutableList<BuildDiagnostic> diagnostics,
ImmutableList<BrokenLink> brokenLinks,
ImmutableList<ContentRoute> generatedPages,
ImmutableList<ContentRoute> skippedPages,
ImmutableList<ContentRoute> failedPages,
TimeSpan duration);Initializes a completed build report with all captured results.
Parameters
diagnosticsImmutableList<BuildDiagnostic>brokenLinksImmutableList<BrokenLink>generatedPagesImmutableList<ContentRoute>skippedPagesImmutableList<ContentRoute>failedPagesImmutableList<ContentRoute>durationTimeSpan
Methods
Pennington.Generation.BuildReport
namespace Pennington.Generation;
/// Aggregated result of a static build run, including diagnostics, broken links, and per-page outcomes.
public class BuildReport
{
/// Initializes a completed build report with all captured results.
public BuildReport(
ImmutableList<BuildDiagnostic> diagnostics,
ImmutableList<BrokenLink> brokenLinks,
ImmutableList<ContentRoute> generatedPages,
ImmutableList<ContentRoute> skippedPages,
ImmutableList<ContentRoute> failedPages,
TimeSpan duration);
/// Broken links discovered by link verification.
public ImmutableList<BrokenLink> BrokenLinks { get; }
/// Diagnostics recorded during the build.
public ImmutableList<BuildDiagnostic> Diagnostics { get; }
/// Total wall-clock duration of the build.
public TimeSpan Duration { get; }
/// Routes whose generation failed.
public ImmutableList<ContentRoute> FailedPages { get; }
/// Routes that were successfully written to the output directory.
public ImmutableList<ContentRoute> GeneratedPages { get; }
/// True when the build produced any errors, failed pages, or broken links.
public bool HasErrors => Diagnostics.Any(d => d.Severity is DiagnosticSeverity.Error)
|| BrokenLinks.Count > 0
|| FailedPages.Count > 0;
/// Routes that were skipped (typically drafts).
public ImmutableList<ContentRoute> SkippedPages { get; }
/// Returns the human-readable summary as a single formatted string.
public string ToFormattedString();
/// Total number of pages considered, including generated, skipped, and failed.
public int TotalPages => GeneratedPages.Count + SkippedPages.Count + FailedPages.Count;
/// Writes a human-readable summary of the report to writer.
public void WriteTo(TextWriter writer);
}