Ver Fonte

版本号识别

黄中银 há 2 dias atrás
pai
commit
9f5f4f4379
1 ficheiros alterados com 12 adições e 10 exclusões
  1. 12 10
      buildTools/pack-release.ps1

+ 12 - 10
buildTools/pack-release.ps1

@@ -15,7 +15,7 @@ function Write-ColorText {
     Write-Host $Text -ForegroundColor $Color
 }
 
-# 读取 Y/N 确认,按Q立即退出
+# 读取 Y/N 确认,按Q立即退出,回车默认Y
 function Read-Confirm {
     param([string]$Prompt)
     Write-Host $Prompt -NoNewline
@@ -26,7 +26,7 @@ function Read-Confirm {
             Write-ColorText '已退出' 'Yellow'
             exit 0
         }
-        if ($key.Character -eq 'y' -or $key.Character -eq 'Y') {
+        if ($key.Character -eq 'y' -or $key.Character -eq 'Y' -or $key.VirtualKeyCode -eq 13) {
             Write-Host 'Y'
             return $true
         }
@@ -57,16 +57,18 @@ if (-not (Test-Path $VersionsDir)) {
     exit 1
 }
 
-$versionFiles = Get-ChildItem -Path $VersionsDir -Filter 'v*.*.*.md' -ErrorAction SilentlyContinue
-$versions = $versionFiles | Where-Object { $_.BaseName -match '^v(\d+)\.(\d+)\.(\d+)' } | ForEach-Object {
+$versionFiles = @(Get-ChildItem -Path $VersionsDir -Filter 'v*.md' -ErrorAction SilentlyContinue)
+$versions = @($versionFiles | Where-Object { $_.BaseName -match '^v(\d+)\.(\d+)\.(\d+)' } | ForEach-Object {
+    $fullVersion = $_.BaseName -replace '^v', ''
+    $baseVersion = $_.BaseName -replace '^v(\d+\.\d+\.\d+).*', '$1'
     [PSCustomObject]@{
-        Name = $_.BaseName
-        Version = [version]($_.BaseName -replace '^v(\d+\.\d+\.\d+).*', '$1')
+        Name = $fullVersion
+        Version = [version]$baseVersion
     }
-} | Sort-Object Version -Descending
+} | Sort-Object Version -Descending)
 
-if ($versions -and $versions.Count -gt 0) {
-    $currentVersion = $versions[0].Name -replace '^v(\d+\.\d+\.\d+).*', '$1'
+if ($versions.Count -gt 0) {
+    $currentVersion = $versions[0].Name
     Write-ColorText "当前版本: $currentVersion" 'Yellow'
 } else {
     Write-ColorText '错误: 无法从 versions 目录获取版本号' 'Red'
@@ -92,7 +94,7 @@ Write-Host ''
 Write-ColorText "输出目录: $OutputDir" 'Gray'
 Write-Host ''
 
-if (-not (Read-Confirm '确认开始打包? (Y/N): ')) {
+if (-not (Read-Confirm '确认开始打包? ([Y]/N): ')) {
     Write-ColorText '已取消' 'Yellow'
     exit 0
 }