Skip to content

Add extension methods to PublishingStep & PublishingTask for direct Complete/Update operations #9994

Closed
@captainsafia

Description

@captainsafia

The new PublishingStep and PublishingTask types should provide APIs for directly completing and updating them without having to go through the IPublishingActivityProgressReporter.

namespace Aspire.Hosting.Publishing;

public static class PublishingExtensions
{
    public static Task<PublishingStep> UpdateStatusAsync(
        this PublishingStep step,
        string statusText,
        CancellationToken cancellationToken = default);

    public static Task<PublishingStep> SucceedAsync(
        this PublishingStep step,
        string? message = null,
        CancellationToken cancellationToken = default);

    public static Task<PublishingStep> WarnAsync(
        this PublishingStep step,
        string? message = null,
        CancellationToken cancellationToken = default);

    public static Task<PublishingStep> FailAsync(
        this PublishingStep step,
        string? errorMessage = null,
        CancellationToken cancellationToken = default);

    public static Task<PublishingTask> UpdateStatusAsync(
        this PublishingTask task,
        string statusText,
        CancellationToken cancellationToken = default);

    public static Task<PublishingTask> SucceedAsync(
        this PublishingTask task,
        string? message = null,
        CancellationToken cancellationToken = default);

    public static Task<PublishingTask> WarnAsync(
        this PublishingTask task,
        string? message = null,
        CancellationToken cancellationToken = default);

    public static Task<PublishingTask> FailAsync(
        this PublishingTask task,
        string? errorMessage = null,
        CancellationToken cancellationToken = default);
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions