From 554de7880af5c4ef84959c8b58d0601d00c98147 Mon Sep 17 00:00:00 2001 From: Nikolay Pianikov Date: Fri, 30 Aug 2024 12:15:11 +0300 Subject: [PATCH] Parallel compatibility checks --- build/CompatibilityCheckTarget.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/build/CompatibilityCheckTarget.cs b/build/CompatibilityCheckTarget.cs index dce341d8..dab8253d 100644 --- a/build/CompatibilityCheckTarget.cs +++ b/build/CompatibilityCheckTarget.cs @@ -56,20 +56,18 @@ public async Task> RunAsync(CancellationToken cance "net20" ]; - foreach (var framework in frameworks.Reverse()) - { - await CompatibilityCheckAsync(generatorPackage.Path, framework, cancellationToken); - } - - var packages = new List { generatorPackage }; - + var tasks = new List(); + tasks.AddRange(frameworks.Reverse().Select(framework => CompatibilityCheckAsync(generatorPackage.Path, framework, cancellationToken))); + // Libraries + var packages = new List { generatorPackage }; foreach (var library in libraries) { - await CompatibilityCheckAsync(generatorPackage.Path, library, cancellationToken); + tasks.Add(CompatibilityCheckAsync(generatorPackage.Path, library, cancellationToken)); packages.Add(library.Package); } + await Task.WhenAll(tasks); return packages; } @@ -169,7 +167,7 @@ private async Task CompatibilityCheckAsync(string generatorPackage, Library libr framework, "-s", Path.GetDirectoryName(generatorPackage)!) - .WithShortName($"add package Pure.DI for the {templateName} template for {framework}") + .WithShortName($"add package {generatorPackage} for the {templateName} template for {framework}") .RunAsync(cancellationToken: cancellationToken).EnsureSuccess(); var libraryPackageDir = Path.GetDirectoryName(library.Package.Path)!;