oh-my-posh/packages/inno/build.ps1

48 lines
1.7 KiB
PowerShell
Raw Normal View History

2021-01-28 12:53:45 -08:00
Param
(
2021-09-14 09:13:33 -07:00
[parameter(Mandatory = $true)]
[ValidateSet('amd64', 'arm64', '386')]
2021-09-14 09:13:33 -07:00
[System.String]$Architecture,
2021-01-28 12:53:45 -08:00
[parameter(Mandatory = $true)]
[string]
$Version
)
2024-11-15 04:45:02 -08:00
$PSDefaultParameterValues['Out-File:Encoding']='UTF8'
# setup dependencies
nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.60 -x
$signtoolDlib = "$PWD/Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll"
$signtool = 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x64/signtool.exe'
2021-01-28 12:53:45 -08:00
New-Item -Path "." -Name "bin" -ItemType Directory
Copy-Item -Path "../../themes" -Destination "./bin" -Recurse
# download the executable
$file = "posh-windows-$Architecture.exe"
$name = "oh-my-posh.exe"
$download = "https://github.com/jandedobbeleer/oh-my-posh/releases/download/v$Version/$($file)"
Invoke-WebRequest $download -Out "./bin/$($name)"
2021-03-15 09:49:13 -07:00
# license
2021-02-15 23:36:37 -08:00
Invoke-WebRequest "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v$Version/COPYING" -Out "./bin/COPYING.txt"
2021-01-28 12:53:45 -08:00
$content = Get-Content '.\oh-my-posh.iss' -Raw
$content = $content.Replace('<VERSION>', $Version)
2021-09-14 09:13:33 -07:00
$ISSName = ".oh-my-posh-$Architecture-$Version.iss"
$content | Out-File -Encoding 'UTF8' $ISSName
# clean paths
$signtool = $signtool -Replace '\\', '/'
$signtoolDlib = $signtoolDlib -Replace '\\', '/'
2021-01-28 12:53:45 -08:00
# package content
2021-09-14 09:13:33 -07:00
$installer = "install-$Architecture"
ISCC.exe /F$installer $ISSName
# sign installer
& "$signtool" sign /v /debug /fd SHA256 /tr 'http://timestamp.acs.microsoft.com' /td SHA256 /dlib "$signtoolDlib" /dmdf ../../src/metadata.json "./Output/$installer.exe"
2021-01-28 12:53:45 -08:00
# get hash
2021-09-14 09:13:33 -07:00
$zipHash = Get-FileHash "Output/$installer.exe" -Algorithm SHA256
$zipHash.Hash | Out-File -Encoding 'UTF8' "Output/$installer.exe.sha256"