public/BuildTearDown.ps1
|
function BuildTearDown { <# .SYNOPSIS Adds a scriptblock that will be executed once at the end of the build .DESCRIPTION This function will accept a scriptblock that will be executed once at the end of the build, regardless of success or failure .PARAMETER Setup A scriptblock to execute .EXAMPLE Task default -Depends Test Task Test -Depends Compile, Clean { } Task Compile -Depends Clean { } Task Clean { } BuildTearDown { "Running 'BuildTearDown'" } The script above produces the following output: Executing task, Clean... Executing task, Compile... Executing task, Test... Running 'BuildTearDown' Build Succeeded .EXAMPLE Task default -Depends Test Task Test -Depends Compile, Clean { throw "forced error" } Task Compile -Depends Clean { } Task Clean { } BuildTearDown { "Running 'BuildTearDown'" } The script above produces the following output: Executing task, Clean... Executing task, Compile... Executing task, Test... Running 'BuildTearDown' forced error At line:x char:x ... #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [scriptblock]$Setup ) Write-Debug "Registering BuildTearDown scriptblock" $psake.Context.Peek().buildTearDownScriptBlock = $Setup } |