| File: Pipelines\IPipelineOutputComparer.cs | Web Access |
| Project: src\src\Aspire.Hosting\Aspire.Hosting.csproj (Aspire.Hosting) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.CodeAnalysis; namespace Aspire.Hosting.Pipelines; /// <summary> /// Compares pipeline output snapshots and reports differences as <see cref="PipelineOutputChange"/> values. /// </summary> /// <typeparam name="TSnapshot">The captured representation shared with the matching snapshotter.</typeparam> /// <remarks> /// Implementations should rely on the supplied snapshots rather than mutable live output. /// </remarks> [Experimental("ASPIREPIPELINES005", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")] public interface IPipelineOutputComparer<TSnapshot> where TSnapshot : notnull { /// <summary> /// Compares output captured before and after artifact generation. /// </summary> /// <param name="before">The snapshot captured before generation.</param> /// <param name="after">The snapshot captured after generation.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>The changes with output-directory-relative paths. An empty list passes the output check.</returns> Task<IReadOnlyList<PipelineOutputChange>> CompareAsync( TSnapshot before, TSnapshot after, CancellationToken cancellationToken); }