publish.ps1

[CmdletBinding(SupportsShouldProcess, ConfirmImpact='High')]
param(
)
. .\helpers
$Key=Get-Password -Name "Powershell Gallery OptWin" -Field "credential"
Import-PowerShellDataFile -Path .\OptWin.psd1 | Set-Variable ModuleData
$ModuleData| Select-Object -ExpandProperty ModuleVersion | Set-Variable OldVersion
$NewVersion=Step-Version -Version $OldVersion -By Patch
Write-Host "Validating module manifest"
Test-ModuleManifest -Path .\OptWin.psd1
Update-ModuleManifest -Path .\OptWin.psd1 -ModuleVersion $NewVersion
Write-Host "Version $OldVersion -> $NewVersion"
Write-Host "Let's publish!!"
if($PSCmdlet.ShouldProcess("PSGallery","Publish-Module")){
    Publish-Module -Path . -NuGetApiKey $Key -Repository PSGallery
    Install-Module -Name OptWin -Force
    Import-Module OptWin
    Optimize-Windows -Preset Harmless
}
Remove-Variable "Key"