Repository: lucenenet
Updated Branches:
  refs/heads/api-work a593dcb8e -> 85c19d3f9


build\build.ps1: Added parameters for preReleaseCounterPattern and 
versionSuffix and refactored so versioning information can be passed as either 
parameters (not properties) or environment variables.


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/566d0344
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/566d0344
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/566d0344

Branch: refs/heads/api-work
Commit: 566d034450b4c6ff832bcf9ccc58c1c06f271ff7
Parents: a593dcb
Author: Shad Storhaug <[email protected]>
Authored: Fri Apr 21 01:14:25 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Fri Apr 21 02:12:17 2017 +0700

----------------------------------------------------------------------
 Version.proj    |  5 +---
 build/build.ps1 | 74 ++++++++++++++++++++++++----------------------------
 2 files changed, 35 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/566d0344/Version.proj
----------------------------------------------------------------------
diff --git a/Version.proj b/Version.proj
index 91cc850..c30f25e 100644
--- a/Version.proj
+++ b/Version.proj
@@ -1,14 +1,11 @@
 <Project>
 
-  <!-- IMPORTANT: When either of these values is changed, the TeamCity counter 
number should also be reset. -->
+  <!-- IMPORTANT: When these values are changed, the TeamCity counter number 
should also be reset. -->
   <PropertyGroup>
     <!-- IMPORTANT: VersionPrefix must always be the same as the Lucene 
version this is based on.
       Never increment it for an individual build - only increment this when an 
entire version's changes
       are ported over from Lucene. This is what determines the version of all 
of the NuGet packages and binaries. -->
          <VersionPrefix>4.8.0</VersionPrefix>
-    <!-- VersionSuffix is the pre-release tag. If non-empty, a zero-padded 
counter number 
-      will automatically be suffixed to this by the build script (when running 
under TeamCity). -->
-         <VersionSuffix>beta</VersionSuffix>
   </PropertyGroup>
 
 </Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/566d0344/build/build.ps1
----------------------------------------------------------------------
diff --git a/build/build.ps1 b/build/build.ps1
index 1081903..ba317b0 100644
--- a/build/build.ps1
+++ b/build/build.ps1
@@ -1,4 +1,4 @@
- properties {
+properties {
        [string]$base_directory   = Resolve-Path "..\."
        [string]$release_directory  = "$base_directory\release"
        [string]$source_directory = "$base_directory"
@@ -6,9 +6,11 @@
        [string]$nuget_package_directory = "$release_directory\NuGetPackages"
        [string]$test_results_directory = "$release_directory\TestResults"
 
-       [string]$buildCounter     = ""
-       [string]$packageVersion   = Get-Package-Version
-       [string]$version          = "0.0.0"
+       [string]$buildCounter     = $(if ($buildCounter) { $buildCounter } else 
{ $env:BuildCounter }) #NOTE: Pass in as a parameter (not a property) or 
environment variable to override
+       [string]$preReleaseCounterPattern = $(if ($preReleaseCounterPattern) { 
$preReleaseCounterPattern } else { if ($env:PreReleaseCounterPattern) { 
$env:PreReleaseCounterPattern } else { "00000" } })  #NOTE: Pass in as a 
parameter (not a property) or environment variable to override
+       [string]$versionSuffix    = $(if ($versionSuffix) { $versionSuffix } 
else { $env:VersionSuffix })  #NOTE: Pass in as a parameter (not a property) or 
environment variable to override
+       [string]$packageVersion   = Get-Package-Version #NOTE: Pass in as a 
parameter (not a property) or environment variable to override
+       [string]$version          = Get-Version
        [string]$configuration    = "Release"
        [bool]$backup_files       = $true
 
@@ -38,8 +40,6 @@ task Init -description "This task makes sure the build 
environment is correctly
                Write-Error "Could not find dotnet CLI in PATH. Please install 
the .NET Core 1.1 SDK."
        }
 
-       $version = Get-Version $packageVersion
-
        #Update TeamCity or MyGet with packageVersion
        Write-Output "##teamcity[buildNumber '$packageVersion']"
        Write-Output "##myget[buildNumber '$packageVersion']"
@@ -50,8 +50,11 @@ task Init -description "This task makes sure the build 
environment is correctly
        Write-Host "Source Directory: $source_directory"
        Write-Host "Tools Directory: $tools_directory"
        Write-Host "NuGet Package Directory: $nuget_package_directory"
-       Write-Host "Version: $version"
+       Write-Host "BuildCounter: $buildCounter"
+       Write-Host "PreReleaseCounterPattern: $preReleaseCounterPattern"
+       Write-Host "VersionSuffix: $versionSuffix"
        Write-Host "Package Version: $packageVersion"
+       Write-Host "Version: $version"
        Write-Host "Configuration: $configuration"
 
        Ensure-Directory-Exists "$release_directory"
@@ -153,45 +156,38 @@ task Test -description "This task runs the tests" {
 }
 
 function Get-Package-Version() {
-       #If $packageVersion is not passed in, get it from Version.proj
-
-       #Get the version info
-       $versionFile = "$base_directory\Version.proj"
-       $xml = [xml](Get-Content $versionFile)
-
-       $versionPrefix = $xml.Project.PropertyGroup.VersionPrefix
-       $versionSuffix = $xml.Project.PropertyGroup.VersionSuffix
-       Write-Host "VersionPrefix: $versionPrefix" -ForegroundColor Yellow
-       Write-Host "VersionSuffix: $versionSuffix" -ForegroundColor Yellow
-               
-       if ([string]::IsNullOrWhiteSpace($buildCounter)) {
-               #attempt to get MyGet (or TeamCity) build counter environment 
variable
-               $buildCounter = "$env:BuildCounter"
-       }
-       Write-Host "buildCounter: $buildCounter"
+       Write-Host $parameters.packageVersion -ForegroundColor Red
 
-       if ([string]::IsNullOrWhiteSpace($versionSuffix)) {
-               # this is a production release - use 4 segment version number 
0.0.0.0
-               if ([string]::IsNullOrWhiteSpace($buildCounter)) {
-                       $buildCounter = "0"
-               }
-
-               $packageVersion = "$versionPrefix.$buildCounter"
+       #If $packageVersion is not passed in (as a parameter or environment 
variable), get it from Version.proj
+       if (![string]::IsNullOrWhiteSpace($parameters.packageVersion) -and 
$packageVersion -ne "0.0.0") {
+               return $packageVersion
+       } elseif (![string]::IsNullOrWhiteSpace($env:PackageVersion)) {
+               return $env:PackageVersion
        } else {
-               # this is a pre-release - use 3 segment version number with 
(optional) zero-padded pre-release tag
-               if (![string]::IsNullOrWhiteSpace($buildCounter)) {
-                       $buildCounter = ([Int32]$buildCounter).ToString("00000")
+               #Get the version info
+               $versionFile = "$base_directory\Version.proj"
+               $xml = [xml](Get-Content $versionFile)
+
+               $versionPrefix = $xml.Project.PropertyGroup.VersionPrefix
+
+               if ([string]::IsNullOrWhiteSpace($versionSuffix)) {
+                       # this is a production release - use 4 segment version 
number 0.0.0.0
+                       $packageVersion = "$versionPrefix.$buildCounter"
+               } else {
+                       if (![string]::IsNullOrWhiteSpace($buildCounter)) {
+                               $buildCounter = 
([Int32]$buildCounter).ToString($preReleaseCounterPattern)
+                       }
+                       # this is a pre-release - use 3 segment version number 
with (optional) zero-padded pre-release tag
+                       $packageVersion = 
"$versionPrefix-$versionSuffix$buildCounter"
                }
-
-               $packageVersion = "$versionPrefix-$versionSuffix$buildCounter"
+               return $packageVersion
        }
-       return $packageVersion
 }
 
-function Get-Version([string]$packageVersion) {
+function Get-Version() {
        #If $version is not passed in, parse it from $packageVersion
        if ([string]::IsNullOrWhiteSpace($version) -or $version -eq "0.0.0") {
-               $version = $packageVersion
+               $version = Get-Package-Version
                if ($version.Contains("-") -eq $true) {
                        $version = $version.SubString(0, $version.IndexOf("-"))
                }
@@ -202,8 +198,6 @@ function Get-Version([string]$packageVersion) {
 function Prepare-For-Build([string[]]$projects) {
        Backup-File $common_assembly_info 
        
-       $version = Get-Version $packageVersion
-               
        Generate-Assembly-Info `
                -product $product_name `
                -company $company_name `

Reply via email to