forked from aaronparker/evergreen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Get-WinMerge.ps1
44 lines (37 loc) · 1.32 KB
/
Get-WinMerge.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
35
36
37
38
39
40
41
42
43
44
Function Get-WinMerge {
<#
.SYNOPSIS
Get the current version and download URL for WinMerge.
.NOTES
Site: https://stealthpuppy.com
Author: Aaron Parker
Twitter: @stealthpuppy
.LINK
https://github.com/aaronparker/Evergreen
.EXAMPLE
Get-WinMerge
Description:
Returns the current version and download URLs for WinMerge.
#>
[OutputType([System.Management.Automation.PSObject])]
[CmdletBinding()]
Param()
# Get application resource strings from its manifest
$res = Get-FunctionResource -AppName ("$($MyInvocation.MyCommand)".Split("-"))[1]
Write-Verbose -Message $res.Name
# Get latest version and download latest release via SourceForge API
$iwcParams = @{
Uri = $res.Get.Update.Uri
ContentType = $res.Get.Update.ContentType
}
$Content = Invoke-WebContent @iwcParams
# Convert the returned release data into a useable object with Version, URI etc.
$params = @{
Content = $Content
Download = $res.Get.Download
MatchVersion = $res.Get.MatchVersion
# DatePattern = $res.Get.DatePattern
}
$object = ConvertFrom-SourceForgeReleasesJson @params
Write-Output -InputObject $object
}