@@ -114,27 +114,29 @@ jobs:
114114 shell : pwsh
115115 run : |
116116 function replaceNumericVersion($name, $fileContent) {
117- $re = [regex] '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("(\d+)\.(\d+)\.(\d+)(\.(\d+))?"\)'
118- foreach($content in $fileContent) {
119- $m = [System.Text.RegularExpressions.Regex]::Match($content, $re)
117+ $pattern = '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("(\d+)\.(\d+)\.(\d+)(\.(\d+))?"\)'
118+ $re = [regex]::new($pattern)
119+ foreach ($content in $fileContent) {
120+ $m = $re.Match($content)
120121 if ($m.Success) {
121- $major= $m.groups [1].value -as [int]
122- $minor= $m.groups [2].value -as [int]
123- $patch= $m.groups [3].value -as [int]
124- return $fileContent -replace '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("[^"]*"\)' , "[assembly: $name(""$major.$minor.$patch.$env:BRANCH_BUILD"")]".TrimEnd("]")
122+ $major = [int] $m.Groups [1].Value
123+ $minor = [int] $m.Groups [2].Value
124+ $patch = [int] $m.Groups [3].Value
125+ return $fileContent -replace $pattern , "[assembly: $name(""$major.$minor.$patch.$env:BRANCH_BUILD"")]".TrimEnd("]")
125126 }
126127 }
127128 }
128-
129+
129130 function replaceFullVersion($name, $fileContent) {
130- $re = [regex] '[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("(\d)\.(\d)\.(\d)(-([\w\W]+))?"\)'
131- foreach($content in $fileContent) {
132- $m = [System.Text.RegularExpressions.Regex]::Match($content, $re)
131+ $pattern = '[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("(\d)\.(\d)\.(\d)(-([\w\W]+))?"\)'
132+ $re = [regex]::new($pattern)
133+ foreach ($content in $fileContent) {
134+ $m = $re.Match($content)
133135 if ($m.Success) {
134- $major= $m.groups [1].value -as [int]
135- $minor= $m.groups [2].value -as [int]
136- $patch= $m.groups [3].value -as [int]
137- $tag= $m.groups [5].value
136+ $major = [int] $m.Groups [1].Value
137+ $minor = [int] $m.Groups [2].Value
138+ $patch = [int] $m.Groups [3].Value
139+ $tag = $m.Groups [5].Value
138140 $branch = if ($env:GITHUB_HEAD_REF) { $env:GITHUB_HEAD_REF } else { $env:GITHUB_REF_NAME }
139141 if ($branch -eq "master" -or $branch -eq "main") {
140142 if ($tag) { $version = "$major.$minor.$patch-$tag-r$env:BRANCH_BUILD" }
@@ -143,20 +145,22 @@ jobs:
143145 $version = "$major.$minor.$patch-$($branch.ToUpper())-r$env:BRANCH_BUILD"
144146 }
145147 "version=$version" >> $env:GITHUB_OUTPUT
146- return $fileContent -replace '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("[^"]*"\)' , "[assembly: $name(""$version"")]".TrimEnd("]")
148+ return $fileContent -replace $pattern , "[assembly: $name(""$version"")]".TrimEnd("]")
147149 }
148150 }
149151 }
150-
152+
151153 function replaceAny($name, $replaceWith, $fileContent) {
152- $re = [regex] '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("[^"]*"\)'
153- foreach($content in $fileContent) {
154- $m = [System.Text.RegularExpressions.Regex]::Match($content, $re)
154+ $pattern = '^[^/]*\[assembly:\s*' + [regex]::Escape($name) + '\("[^"]*"\)'
155+ $re = [regex]::new($pattern)
156+ foreach ($content in $fileContent) {
157+ $m = $re.Match($content)
155158 if ($m.Success) {
156- return $fileContent -replace $re , "[assembly: $name(""$replaceWith"")]".TrimEnd("]")
159+ return $fileContent -replace $pattern , "[assembly: $name(""$replaceWith"")]".TrimEnd("]")
157160 }
158161 }
159162 }
163+
160164
161165 $assemblyFile = "VersionAssemblyInfo.cs"
162166 $fileContent = Get-Content $assemblyFile
0 commit comments