function Log-Debug { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { foreach($m in $Message) { Write-Debug "$(if ( $env:CI -ne $null ) { '::debug::' })$m" } } } function Log-Verbose { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { foreach($m in $Message) { Write-Verbose $m } } } function Log-Warning { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { foreach($m in $Message) { Write-Warning "$(if ( $env:CI -ne $null ) { '::warning::' })$m" } } } function Log-Error { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { foreach($m in $Message) { Write-Error "$(if ( $env:CI -ne $null ) { '::error::' })$m" } } } function Log-Information { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { if ( ! ( $script:Quiet ) ) { $StageName = $( if ( $script:StageName -ne $null ) { $script:StageName } else { '' }) $Icon = ' =>' foreach($m in $Message) { Write-Host -NoNewLine -ForegroundColor Blue " ${StageName} $($Icon.PadRight(5)) " Write-Host "${m}" } } } } function Log-Group { [CmdletBinding()] param( [Parameter(ValueFromPipeline)] [string[]] $Message ) Process { if ( $Env:CI -ne $null ) { if ( $script:LogGroup ) { Write-Output '::endgroup::' $script:LogGroup = $false } if ( $Message.count -ge 1 ) { Write-Output "::group::$($Message -join ' ')" $script:LogGroup = $true } } else { if ( $Message.count -ge 1 ) { Log-Information $Message } } } } function Log-Status { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { if ( ! ( $script:Quiet ) ) { $StageName = $( if ( $StageName -ne $null ) { $StageName } else { '' }) $Icon = ' >' foreach($m in $Message) { Write-Host -NoNewLine -ForegroundColor Green " ${StageName} $($Icon.PadRight(5)) " Write-Host "${m}" } } } } function Log-Output { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Message ) Process { if ( ! ( $script:Quiet ) ) { $StageName = $( if ( $script:StageName -ne $null ) { $script:StageName } else { '' }) $Icon = '' foreach($m in $Message) { Write-Output " ${StageName} $($Icon.PadRight(5)) ${m}" } } } } $Columns = (Get-Host).UI.RawUI.WindowSize.Width - 5