function Write-InstallPackageMetadataToConsole { <# .SYNOPSIS Dumps package metadata to console. .PARAMETER Packages List of packages to dump. .PARAMETER IsWeb Switch determining if it's a web deploy or not. #> [CmdletBinding()] param( [object[]]$Packages, [switch]$IsWeb ) foreach ($package in $Packages) { Write-Host ("##teamcity[blockOpened name='$($package.Name) $($package.Version)']") Write-Host "Classifications:" Write-Host "`tTier: $($package.Tier)" Write-Host "`tMicroservice: $($package.IsMicroservice)" Write-Host "`tInstaller: $($package.IsInstaller)" Write-Host "`tInfrastructure: $($package.IsInfrastructure)" Write-Host "`tHas Migrations: $($package.HasMigrations)" Write-Host "`tIs MigrationOnlyPackage: $($package.IsMigrationPackage)" Write-Host "`tHas Infrastructure Migrations: $($package.HasInfrastructureMigration)" Write-Host "`tSDK: $($package.IsSDK)" # Doctor the web/app dichotomy of installs a bit because of how the web/app install boxes work. # Without this all of the app packages will say InstallToWeb True. $installToWeb = $isWeb.IsPresent -and $package.InstallToWeb $installToApp = $package.InstallToApp $installToMic = $package.InstallToMic $installToFab = $package.InstallToFab Write-Host "`nInstall To Servers:" Write-Host "`tWebs: $($installToWeb)" Write-Host "`tApps: $($installToApp)" Write-Host "`tMics: $($installToMic)" Write-Host "`tFabs: $($installToFab)" Write-Host ("##teamcity[blockClosed name='$($package.Name)']") } }