publish.ps1
[CmdletBinding(SupportsShouldProcess, ConfirmImpact='High')] param( ) . .\helpers Write-Host "Getting nuget api key" $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" $ErrorActionPreference="Stop" Test-ModuleManifest -Path .\OptWin.psd1 | out-null $ErrorActionPreference="Continue" 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 if(Find-Module OptWin | Select-Object -ExpandProperty Version -ne $NewVersion){ Write-Error "Something went wrong" }else{ Write-Host -ForegroundColor Green "Module published successfully" } } Remove-Variable "Key" |