Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions eng/scripts/New-BuildInfo.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -430,12 +430,26 @@ function Get-ServerDetails {
Write-Host "Marketplace latest: $($marketplaceInfo.LatestVersion) -> Next VSIX version: $vsixVersion" -ForegroundColor Green
}
else {
# No matching versions found - this is an illegal state for non-beta releases
LogError "Cannot determine VSIX version for $serverName $($version.ToString()). No marketplace versions found for $($version.Major).0.X series."
LogError "For non-beta releases, the VSIX version must be calculated from existing marketplace versions."
LogError "If this is the first release for major version $($version.Major), use a beta version (e.g., $($version.Major).0.0-beta.1) instead."
$script:exitCode = 1
continue
# No matching versions found on the marketplace for the Major.0.X series.
# Special case: if the .csproj version is exactly 1.0.0 (stable, no prerelease label),
# this is the very first GA publish — use the csproj version directly since there is
# no prior marketplace version to increment from.
# This exception is intentionally limited to 1.0.0; any other version with no
# marketplace history (e.g. 1.0.1, 2.0.0) is an error because it implies a potential gap
# in the published version history that must be investigated.
if ([string]::IsNullOrEmpty($version.PrereleaseLabel) -and
$version.Major -eq 1 -and $version.Minor -eq 0 -and $version.Patch -eq 0) {
$vsixVersion = "$($version.Major).$($version.Minor).$($version.Patch)"
$vsixIsPrerelease = $false
Write-Host "No marketplace versions found for $($version.Major).0.X. Using .csproj version for first GA VSIX (1.0.0): $vsixVersion" -ForegroundColor Green
}
else {
LogError "Cannot determine VSIX version for $serverName $($version.ToString()). No marketplace versions found for $($version.Major).0.X series."
LogError "For non-beta releases, the VSIX version must be calculated from existing marketplace versions."
LogError "The 1.0.0 first-GA exception does not apply here. Ensure the extension has been published at least once before running a subsequent GA build."
$script:exitCode = 1
continue
}
}
}
else {
Expand Down
Loading