@@ -23,49 +23,46 @@ cache:
2323environment :
2424 VERSION_SIMPLE : ' {version}'
2525 VERSION_INFORMATIONAL : ' {version}'
26- VERSION_SUFFIX : ' -preview-$(APPVEYOR_BUILD_NUMBER)'
27- VERSION_SUFFIX_TAG : ' -beta-$(APPVEYOR_BUILD_NUMBER)'
26+ VERSION_UNSTABLE_SUFFIX : ' -preview-$(APPVEYOR_BUILD_NUMBER)'
2827
2928init :
3029- ps : |
3130 $env:VERSION_INFORMATIONAL = $env:APPVEYOR_BUILD_VERSION
3231 $env:VERSION_SIMPLE = "$env:APPVEYOR_BUILD_VERSION.$env:APPVEYOR_BUILD_NUMBER"
32+ $env:GITHUB_REPO_API = "https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/releases/latest"
3333
34- if ($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_REPO_TAG_NAME)
35- {
36- $env:VERSION_SUFFIX = $env:VERSION_SUFFIX_TAG
37- $tag_version = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
38- Write-Host "Building a tag: $tag_version";
34+ if ($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_REPO_TAG_NAME) {
35+ ### CHECK IF A IT'S A TAGGED BUILD
36+ $git_current_tag = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
37+ Write-Host "Building a tagged Git commit: $git_current_tag";
3938
40- if ($tag_version -match '^([0-9]+\.[0-9]+\.[0-9]+)$' -Or $tag_version -match '([0-9]+[\.-][0-9]+[\.-][0-9]+-[-A-Za-z0-9]+)')
41- {
42- $env:VERSION_INFORMATIONAL = "$tag_version"
39+ if ($git_current_tag -match '^([0-9]+\.[0-9]+\.[0-9]+)$' -Or $git_current_tag -match '([0-9]+[\.-][0-9]+[\.-][0-9]+-[-A-Za-z0-9]+)') {
40+ $env:VERSION_INFORMATIONAL = "$git_current_tag"
4341 }
44- }
45- else
46- {
42+ } else {
43+ ### OTHERWISE IT'S A REGULAR BUILD
4744 try {
45+ ### TRY TO GET VERSION FROM THE LATEST GITHUB TAG/REALEASE
4846 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
49- $github_last_release=(Invoke-WebRequest -Uri https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/releases/latest) -join '`n' | ConvertFrom-Json
50- $github_tag_name=$github_last_release.tag_name
51- if ($github_tag_name -match '^([0-9]+\.[0-9]+\.[0-9]+)$')
52- {
53- $github_tag_ver = [version]$github_tag_name
54- $github_tag_name = "{0}.{1}.{2}" -f $github_tag_ver.Major, $github_tag_ver.Minor, ($github_tag_ver.Build + 1)
47+ $github_last_release=(Invoke-WebRequest -Uri $env:GITHUB_REPO_API) -join '`n' | ConvertFrom-Json
48+ $github_last_tag=$github_last_release.tag_name.TrimStart("v")
49+ if ($github_last_tag -match '^([0-9]+\.[0-9]+\.[0-9]+)$') {
50+ $github_tag_ver = [version]$github_last_tag
51+ $github_last_tag = "{0}.{1}.{2}" -f $github_tag_ver.Major, $github_tag_ver.Minor, ($github_tag_ver.Build + 1)
5552 }
56- $env:VERSION_INFORMATIONAL = $github_tag_name
53+ $env:VERSION_INFORMATIONAL = $github_last_tag
5754 } catch {
5855 $env:VERSION_INFORMATIONAL = "1.0.0"
5956 Write-Host "Failed to get version from the last GitHub release falling back on '$env:VERSION_INFORMATIONAL' base version";
6057 }
6158
62- $env:VERSION_INFORMATIONAL = "$env:VERSION_INFORMATIONAL$env:VERSION_SUFFIX "
59+ $env:VERSION_INFORMATIONAL = "$env:VERSION_INFORMATIONAL$env:VERSION_UNSTABLE_SUFFIX "
6360 }
6461
62+ ### MAKE CALCULATED INFORMATIONAL VERSION THE ACTUAL BUILD VERSION
6563 Update-AppveyorBuild -Version $env:VERSION_INFORMATIONAL
6664 Write-Host "Using build version: $env:APPVEYOR_BUILD_VERSION";
6765
68-
6966dotnet_csproj :
7067 patch : true
7168 file : ' **\*.csproj'
0 commit comments