icinga2/tools/win32/build-choco.ps1

42 lines
1.6 KiB
PowerShell

Set-PsDebug -Trace 1
if(-not (Test-Path "$($env:ProgramData)\chocolatey\choco.exe")) {
throw "Could not find Choco executable. Abort."
}
if (-not (Test-Path env:ICINGA2_BUILDPATH)) {
$env:ICINGA2_BUILDPATH = '.\build'
}
if(-not (Test-Path "$($env:ICINGA2_BUILDPATH)\choco\chocolateyInstall.ps1.template")) {
throw "Could not find Chocolatey install script template. Abort."
}
$chocoInstallScriptTemplatePath = "$($env:ICINGA2_BUILDPATH)\choco\chocolateyInstall.ps1.template"
$chocoInstallScript = Get-Content $chocoInstallScriptTemplatePath
if(-not (Test-Path "$($env:ICINGA2_BUILDPATH)\*-x86.msi")) {
throw "Could not find Icinga 2 32 bit MSI package. Abort."
}
$hashMSIpackage32 = Get-FileHash "$($env:ICINGA2_BUILDPATH)\*-x86.msi"
Write-Output "File Hash for 32 bit MSI package: $($hashMSIpackage32.Hash)."
if(-not (Test-Path "$($env:ICINGA2_BUILDPATH)\*-x86_64.msi")) {
throw "Could not find Icinga 2 64 bit MSI package. Abort."
}
$hashMSIpackage64 = Get-FileHash "$($env:ICINGA2_BUILDPATH)\*-x86_64.msi"
Write-Output "File Hash for 32 bit MSI package: $($hashMSIpackage64.Hash)"
$chocoInstallScript = $chocoInstallScript.Replace("%CHOCO_32BIT_CHECKSUM%", "$($hashMSIpackage32.Hash)")
$chocoInstallScript = $chocoInstallScript.Replace("%CHOCO_64BIT_CHECKSUM%", "$($hashMSIpackage64.Hash)")
Write-Output $chocoInstallScript
Set-Content -Path "$($env:ICINGA2_BUILDPATH)\choco\chocolateyInstall.ps1" -Value $chocoInstallScript
cd "$($env:ICINGA2_BUILDPATH)\choco"
& "$($env:ProgramData)\chocolatey\choco.exe" "pack"
cd "..\.."
Move-Item -Path "$($env:ICINGA2_BUILDPATH)\choco\*.nupkg" -Destination "$($env:ICINGA2_BUILDPATH)"