From b37706b4b56734182c009e96421fe1fd9d868e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Barr=C3=A9?= Date: Sun, 30 Jul 2023 20:59:26 -0400 Subject: [PATCH] Parallelize file generation --- tools/ConfigFilesGenerator/Program.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/ConfigFilesGenerator/Program.cs b/tools/ConfigFilesGenerator/Program.cs index 9c05466..9883145 100644 --- a/tools/ConfigFilesGenerator/Program.cs +++ b/tools/ConfigFilesGenerator/Program.cs @@ -18,8 +18,10 @@ var rootFolder = GetRootFolderPath(); var writtenFiles = 0; -await foreach (var (packageId, packageVersion) in GetReferencedNuGetPackages()) +await Parallel.ForEachAsync(GetReferencedNuGetPackages(), async (item, cancellationToken) => { + var (packageId, packageVersion) = item; + Console.WriteLine(packageId + "@" + packageVersion); var configurationFilePath = rootFolder / "src" / "configuration" / ("Analyzer." + packageId + ".editorconfig"); @@ -91,12 +93,12 @@ if (File.Exists(configurationFilePath)) { if (File.ReadAllText(configurationFilePath).ReplaceLineEndings() == sb.ToString().ReplaceLineEndings()) - continue; + return; } configurationFilePath.CreateParentDirectory(); - await File.WriteAllTextAsync(configurationFilePath, sb.ToString()); - writtenFiles++; + await File.WriteAllTextAsync(configurationFilePath, sb.ToString(), cancellationToken); + Interlocked.Increment(ref writtenFiles); static string GetSeverity(DiagnosticSeverity? severity) { @@ -108,7 +110,7 @@ static string GetSeverity(DiagnosticSeverity? severity) }; } } -} +}); return writtenFiles;