diff --git a/Scripts/Prepare-Build.ps1 b/Scripts/Prepare-Build.ps1 index ae669007cd26290897dbe6ac25eb5208c4b9d99a..34fb5519d3f47e6ac36d2dfe760adfdddb1ed202 100644 --- a/Scripts/Prepare-Build.ps1 +++ b/Scripts/Prepare-Build.ps1 @@ -1,7 +1,15 @@ -[CmdletBinding()] +[CmdletBinding(DefaultParameterSetName="build")] Param( - [Parameter(Mandatory=$True)][string] $SolutionDir, - [Parameter(Mandatory=$True)][string] $ConfigurationName + [Parameter(Mandatory=$True, ParameterSetName="build")] + [Parameter(Mandatory=$True, ParameterSetName="gentemplate")] + [string] $SolutionDir + , + [Parameter(Mandatory=$True, ParameterSetName="build")] + [ValidateSet("Debug", "Release")] + [string] $ConfigurationName + , + [Parameter(ParameterSetName="gentemplate")] + [switch] $GenericTemplate ) $CsTemplate = @" @@ -35,8 +43,13 @@ function Write-BuildDetails { [String]$Date ) - $CommitName = "$($Desc[0]).$($Desc[1])-$($Desc[2])-$($Desc[3])" - $Commit = $Desc[3].Substring(1) + if ($Desc[3].Equals("nogit")) { + $CommitName = "?commit?" + $Commit = "?sha1" + } else { + $CommitName = "$($Desc[0]).$($Desc[1])-$($Desc[2])-$($Desc[3])" + $Commit = $Desc[3].Substring(1) + } Write-Output "$($Target.Substring($Target.LastIndexOf('\')+1)) -> $($Target)" $Code = $CsTemplate -f ` $CommitName, ` @@ -74,6 +87,14 @@ $BuildDate = "$($SolutionDir)\Resources\BuildDate.txt" $BuildConfig = "$($SolutionDir)\Resources\BuildConfiguration.txt" $BuildDetailsCS = "$($SolutionDir)\ATxCommon\BuildDetails.cs" +if ($GenericTemplate) { + $VerbosePreference = "Continue" + $DescItems = "1", "0", "0", "nogit" + Write-BuildDetails $BuildDetailsCS $DescItems "?branch?" "?build time?" + Set-Location $OldLocation + Exit +} + try { $CommitName = & git describe --tags --long --match "[0-9].[0-9]" if (-Not $?) { throw }