From 7a6628999e99ae5256928db3c62115ecc20f5232 Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Tue, 18 Jul 2023 20:38:30 -0500 Subject: [PATCH] Use a generated regex --- .../WorkloadBuildTasks/InstallWorkloadFromArtifacts.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tasks/WorkloadBuildTasks/InstallWorkloadFromArtifacts.cs b/src/tasks/WorkloadBuildTasks/InstallWorkloadFromArtifacts.cs index 8e63b07ac7332..d4be65b4da50a 100644 --- a/src/tasks/WorkloadBuildTasks/InstallWorkloadFromArtifacts.cs +++ b/src/tasks/WorkloadBuildTasks/InstallWorkloadFromArtifacts.cs @@ -19,7 +19,7 @@ namespace Microsoft.Workload.Build.Tasks { - public class InstallWorkloadFromArtifacts : Task + public partial class InstallWorkloadFromArtifacts : Task { [Required, NotNull] public ITaskItem[] WorkloadIds { get; set; } = Array.Empty(); @@ -49,6 +49,9 @@ public class InstallWorkloadFromArtifacts : Task private string _tempDir = string.Empty; private string _nugetCachePath = string.Empty; + [GeneratedRegex(@"^\d+\.\d+\.\d+(-[A-z]*\.*\d*)?")] + private static partial Regex bandVersionRegex(); + public override bool Execute() { _tempDir = Path.Combine(Path.GetTempPath(), $"workload-{Path.GetRandomFileName()}"); @@ -294,7 +297,7 @@ private bool InstallWorkloadManifest(ITaskItem workloadId, string name, string v string outputDir = FindSubDirIgnoringCase(manifestVersionBandDir, name); // regex matching the version band, e.g. 6.0.100-preview.3.21202.5 => 6.0.100-preview.3 - string bandVersion = Regex.Match(version, @"^\d+\.\d+\.\d+(-[A-z]*\.*\d*)?").Value; + string bandVersion = bandVersionRegex().Match(version).Value; PackageReference pkgRef = new(Name: $"{name}.Manifest-{bandVersion}", Version: version,