oh-my-posh/packages/powershell/go-my-posh/deploy.ps1
2020-09-16 10:46:50 +02:00

38 lines
1.4 KiB
PowerShell

Param
(
[parameter(Mandatory=$true)]
[string]
$BinVersion,
[parameter(Mandatory=$true)]
[string]
$ModuleVersion,
[parameter(Mandatory=$true)]
[string]
$Repository,
[parameter(Mandatory=$false)]
[string]
$RepositoryAPIKey
)
# set the actual version number
(Get-Content '.\go-my-posh.psd1' -Raw).Replace('0.0.0.1', $ModuleVersion) | Out-File -Encoding 'UTF8' '.\go-my-posh.psd1'
# copy all themes into the module folder
Copy-Item -Path "../../../Themes" -Destination "./Themes" -Recurse
# fetch all the binaries from the version's GitHub release
New-Item -Path "./" -Name "bin" -ItemType "directory"
"posh-windows-amd64.exe", "posh-darwin-amd64", "posh-linux-amd64" | ForEach-Object -Process {
$download = "https://github.com/jandedobbeleer/go-my-posh/releases/download/v$BinVersion/$_"
Invoke-WebRequest $download -Out "./bin/$_"
}
# publish the module
if ($RepositoryAPIKey) {
Publish-Module -Path . -Repository $Repository -NuGetApiKey $RepositoryAPIKey -Verbose
} else {
Publish-Module -Path . -Repository $Repository -Verbose
}
# reset module version (for local testing only as we don't want PR's with changed version numbers all the time)
(Get-Content '.\go-my-posh.psd1' -Raw).Replace($ModuleVersion, '0.0.0.1') | Out-File -Encoding 'UTF8' '.\go-my-posh.psd1'
Remove-Item "./bin" -Recurse -Force
Remove-Item "./Themes" -Recurse -Force