summaryrefslogtreecommitdiffstats
path: root/tools/win32/build-choco.ps1
blob: 32138bdf272a5e9a2712ac71513c8cd7b89e31a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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)"