BuildScripts/Tasks/backup.manifest.build.ps1
param( [Parameter()] [string]$ManifestBackupPath = ( Get-BuildProperty ManifestBackupPath (Join-Path $Artifact 'backup') ) ) <# .SYNOPSIS Create a copy of the manifest #> task backup.manifest { if (Test-Path $ManifestBackupPath) { logWarn "$ManifestBackupPath needs to be created" New-Item -Path $ManifestBackupPath -ItemType Directory -Force } $BuildInfo | Foreach-Module { $config = $_ $last_version = [System.Version]($config.ModuleVersion) logDebug "Creating backup of version $($last_version.ToString())" logDebug "Manifest backup directory $ManifestBackupPath" $manifest = Get-Item (Join-Path $config.Source $config.ManifestFile) if (Test-Path $ManifestBackupPath) { $options = @{ Destination = (Join-Path $ManifestBackupPath ( -join @( $manifest.BaseName, '.v', $last_version.ToString(), '.psd1' ) ) ) Path = $manifest } Copy-Item @options } } } |