CakeTaskBuilderExtensions.

DoesForEach<TItem>(CakeTaskBuilder, Func<ICakeContext, IAsyncEnumerable<TItem>>, Func<TItem, ICakeContext, Task>) Method

Summary

Adds an asynchronous action to be executed foreach item returned by the asynchronous items function. This method will be executed the first time the task is executed.
Namespace
Cake.Core
Containing Type
CakeTaskBuilderExtensions

Syntax

public static CakeTaskBuilder DoesForEach<TItem>(this CakeTaskBuilder builder, Func<ICakeContext, IAsyncEnumerable<TItem>> itemsFunc, Func<TItem, ICakeContext, Task> action)

Examples

Task("Pack")
    .DoesForEach(context => GetFrameworksAsync(), async (tfm, context) =>
{
    await System.Threading.Tasks.Task.Delay(10);
    context.Log.Information("Packing {0}", tfm);
});

Type Parameters

Name Description
TItem The item type.

Parameters

Name Type Description
builder CakeTaskBuilder The task builder.
itemsFunc Func<ICakeContext, IAsyncEnumerable<TItem>> The items.
action Func<TItem, ICakeContext, Task> The action.

Return Value

Type Description
CakeTaskBuilder The same CakeTaskBuilder instance so that multiple calls can be chained.