-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathupdate.ps1
34 lines (30 loc) · 1.37 KB
/
update.ps1
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
import-module au
function global:au_SearchReplace {
@{
".\tools\chocolateyinstall.ps1" = @{
"(?i)(^\s*file\s*=\s*)(.*)" = "`${1}Join-Path `$toolsDir '$($Latest.FileName32)'"
"(?i)(^\s*file64\s*=\s*)(.*)" = "`${1}Join-Path `$toolsDir '$($Latest.FileName64)'"
}
".\legal\VERIFICATION.txt" = @{
"(?i)(\s+x86:).*" = "`${1} $($Latest.Url32)"
"(?i)(\s+x64:).*" = "`${1} $($Latest.Url64)"
"(?i)(\s+checksum32:).*" = "`${1} $($Latest.Checksum32)"
"(?i)(\s+checksum64:).*" = "`${1} $($Latest.Checksum64)"
}
}
}
function global:au_GetLatest {
$download_page = Invoke-WebRequest -UseBasicParsing -Uri 'http://www.gprolog.org'
$files = $download_page.links | ? href -match 'setup-gprolog-\d+\.\d+(\.\d+)*-mingw-x64\.exe' | Select-Object -exp href
$versions = $files | % { [regex]::Match($_, 'setup-gprolog-(\d+\.\d+(\.\d+)*)-mingw-x64\.exe').Groups[1].Value }
$version = $versions | Sort-Object -Descending {[version] $_ } | Select-Object -First 1
@{
Version = $version
Url32 = "http://www.gprolog.org/setup-gprolog-$version-mingw-x86.exe"
Url64 = "http://www.gprolog.org/setup-gprolog-$version-mingw-x64.exe"
}
}
function global:au_BeforeUpdate {
Get-RemoteFiles -NoSuffix -Purge
}
Update-Package -ChecksumFor None