From b8ad580ae517a353ede86dda300125d6a8785420 Mon Sep 17 00:00:00 2001 From: Meik Date: Fri, 3 Jul 2026 08:04:21 +0200 Subject: [PATCH] fix: sync configuration version from assembly --- F4SDM42WebApi/BuildM42Package.ps1 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/F4SDM42WebApi/BuildM42Package.ps1 b/F4SDM42WebApi/BuildM42Package.ps1 index dab584d..8d617c1 100644 --- a/F4SDM42WebApi/BuildM42Package.ps1 +++ b/F4SDM42WebApi/BuildM42Package.ps1 @@ -62,6 +62,25 @@ $packageJson = [regex]::Replace($packageJson, '"Version"\s*:\s*"[^"]+"', "`"Vers $packageJson = [regex]::Replace($packageJson, '"LastUpdatedDate"\s*:\s*"[^"]+"', "`"LastUpdatedDate`": `"$(Get-Date -Format 'yyyy-MM-ddTHH:mm:ss')`"") [System.IO.File]::WriteAllText($packageJsonPath, $packageJson, [System.Text.UTF8Encoding]::new($true)) +$configDataPath = Join-Path $packageDir 'install\1010_Config_Data\02-01-0080 C4IT_F4SDConfigurationType.dat' +if (-not (Test-Path -LiteralPath $configDataPath)) { + throw "Configuration data file not found: $configDataPath" +} + +$configData = [System.IO.File]::ReadAllText($configDataPath) +$configData = [regex]::Replace( + $configData, + '([\s\S]*?)[^<]*()', + "`${1}$PackageVersion`${2}", + [System.Text.RegularExpressions.RegexOptions]::Singleline +) + +if ($configData -notmatch "$([regex]::Escape($PackageVersion))") { + throw "Could not update C4IT_F4SDConfigurationType Version to $PackageVersion in $configDataPath" +} + +[System.IO.File]::WriteAllText($configDataPath, $configData, [System.Text.UTF8Encoding]::new($true)) + $textFileExtensions = @('.json', '.xml', '.dat', '.type', '.class', '.config', '.host') Get-ChildItem -LiteralPath $packageDir -Recurse -File | Where-Object { $textFileExtensions -contains $_.Extension.ToLowerInvariant() } |