-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdate-Version.ps1
More file actions
36 lines (29 loc) · 1.28 KB
/
Update-Version.ps1
File metadata and controls
36 lines (29 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Update-Version.ps1
$ErrorActionPreference = 'Stop'
$programFile = Join-Path $PSScriptRoot "src/ACUCustomizationUtil/Program.cs"
$docsPath = Join-Path $PSScriptRoot "doc"
# Читаем строку с версией
$programContent = Get-Content -Raw -Path $programFile
# Ищем строго 4-компонентную версию: XX.XX.XX.XXXX
if ($programContent -match '\[assembly:\s*AssemblyVersion\("(\d{2}\.\d{2}\.\d{2}\.\d{4})"\)\]') {
$version = $matches[1]
Write-Host "Found version: $version"
} else {
Write-Error "AssemblyVersion not found or invalid format"
exit 1
}
# Обновляем docs/VERSION
Set-Content -Path "$docsPath/VERSION" -Value $version
Write-Host "Written to docs/VERSION"
# Обновляем все .md-файлы, кроме VERSION
Get-ChildItem -Path $docsPath -Recurse -Filter *.md | Where-Object {
$_.Name -ne "VERSION" -and
$_.Name -notmatch '^Release_Notes_\d{2}\.\d{2}\.\d{2}\.\d{4}\.md$'
} | ForEach-Object {
$filePath = $_.FullName
$content = Get-Content -Raw -Path $filePath
# Заменяем старую версию (предыдущую) на новую
$updated = $content -replace '\b\d{2}\.\d{2}\.\d{2}\.\d{4}\b', $version
Set-Content -Path $filePath -Value $updated
Write-Host "Updated: $filePath"
}