30 lines
1.2 KiB
PowerShell
30 lines
1.2 KiB
PowerShell
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidatePattern('^v?\d+\.\d+\.\d+([-.+][0-9A-Za-z.-]+)?$')]
|
|
[string]$Version
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$repoRoot = Resolve-Path -LiteralPath (Join-Path $PSScriptRoot "..")
|
|
$cleanVersion = $Version.TrimStart("v")
|
|
|
|
$pyprojectPath = Join-Path $repoRoot "pyproject.toml"
|
|
$versionPath = Join-Path $repoRoot "traderai\version.py"
|
|
$lockPath = Join-Path $repoRoot "uv.lock"
|
|
|
|
$pyproject = Get-Content -LiteralPath $pyprojectPath -Raw
|
|
$pyproject = $pyproject -replace '(?m)^version = "[^"]+"', "version = `"$cleanVersion`""
|
|
Set-Content -LiteralPath $pyprojectPath -Value $pyproject -Encoding UTF8
|
|
|
|
$versionModule = Get-Content -LiteralPath $versionPath -Raw
|
|
$versionModule = $versionModule -replace '__version__ = "[^"]+"', "__version__ = `"$cleanVersion`""
|
|
Set-Content -LiteralPath $versionPath -Value $versionModule -Encoding UTF8
|
|
|
|
if (Test-Path -LiteralPath $lockPath) {
|
|
$lock = Get-Content -LiteralPath $lockPath -Raw
|
|
$lock = $lock -replace '(?s)(name = "traderai"\s+version = ")[^"]+(")', "`${1}$cleanVersion`${2}"
|
|
Set-Content -LiteralPath $lockPath -Value $lock -Encoding UTF8
|
|
}
|
|
|
|
Write-Host "TraderAI version set to $cleanVersion"
|