Patch-ModuleManifest.ps1
<# .Author Trevor Sullivan <trevor@trevorsullivan.net> .Description Publishes the PowerShell module to the PowerShell Gallery. This PowerShell script is invoked by AppVeyor after the "Deploy" phase has completed successfully. #> function Patch-ModuleManifest { [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [string] $Path , [string] $BuildNumber ) if (!$Path) { $Path = Get-ChildItem -Path $env:APPVEYOR_BUILD_FOLDER\* -Include *.psd1; if (!$Path) { throw 'Could not find a module manifest file'; } } $ManifestContent = Get-Content -Path $Path -Raw; $ManifestContent = $ManifestContent -replace '(?<=ModuleVersion\s+=\s+'')(?<ModuleVersion>.*)(?='')', ('${{ModuleVersion}}.{0}' -f $BuildNumber); Set-Content -Path $Path -Value $ManifestContent; $ManifestContent -match '(?<=ModuleVersion\s+=\s+'')(?<ModuleVersion>.*)(?='')'; Write-Verbose -Message ('Module Version patched: ' + $Matches.ModuleVersion); } |