scripts/Deploy.ps1
param( [Parameter(Mandatory=$true)] $ApiKey, $NuGetVersion = "2.8.5.208", $NugetUrl = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" ) function Write-Succeed{ Write-Host "[Succeed]" -ForegroundColor Green } function Write-Status{ [cmdletbinding()] param ( [Parameter(Mandatory=$true)] [Object]$message ) Write-Host "$message... " -NoNewline } $nuGetProvider = Find-PackageProvider -Name "NuGet" -MinimumVersion $NuGetVersion if ($nuGetProvider.Count > 0){ Write-Verbose "Package Available." } else { Write-Verbose "Package not available." Write-Status "Installing PackageProvider 'NuGet'" Install-PackageProvider -Name "NuGet" -MinimumVersion $NuGetVersion -Scope CurrentUser -Force Write-Succeed } Write-Status "Downloading NuGet" Invoke-WebRequest $NugetUrl -OutFile "$PSScriptRoot\Nuget.exe" $env:Path += ";$PSScriptRoot" Write-Succeed $modules = Get-ChildItem *.psm1 Write-Host "Found '$module.Count' Module(s) to publish" foreach ($module in $modules) { Write-Status "Publishing module: '$module.Name'" Publish-Module -Name $module -NuGetApiKey $ApiKey Write-Succeed } |