Files
teamspeak-obs-overlay/update.ps1
2023-01-11 14:13:57 +01:00

50 lines
1.5 KiB
PowerShell

Write-Output "Starting update..."
$currentVersionString = (Get-Content .\meta.json | ConvertFrom-Json).version
Write-Output "Current version: $currentVersionString"
Write-Output "Searching for newest version..."
$newestVersionString = ""
$req = Invoke-WebRequest https://github.com/DerTyp876/ts5-obs-overlay/releases/latest
foreach ($tag in $req.ParsedHtml.body.getElementsByTagName('h1')) {
if ($tag.innerText[0] -eq "v") {
$newestVersionString = $tag.innerText
}
}
if ($newestVersionString -ne "") {
Write-Output "Newest version found: $newestVersionString"
$currentVersion = ($currentVersionString -replace "v")
$newestVersion = ($newestVersionString -replace "v")
if ([System.Version]$currentVersion -gt [System.Version]$newestVersion) {
Write-Output "Current version is up to date!"
}
else {
Write-Output "Updating to newer version..."
Remove-Item * -Recurse -Force -Confirm
mkdir ./temp
attrib +h ./temp
Write-Output "Downloading newer version..."
Invoke-WebRequest -Uri "https://github.com/DerTyp876/ts5-obs-overlay/archive/refs/tags/$newestVersionString.zip" -OutFile "./temp/$newestVersionString.zip"
Write-Output "Extracting archive..."
Expand-Archive -Path "./temp/$newestVersionString.zip" -DestinationPath "./temp/"
Get-ChildItem -Path "./temp/ts5-obs-overlay-$($newestVersionString -replace 'v')" -Recurse | Move-Item -Destination "./"
Remove-Item "./temp" -Recurse -Force -Confirm
Write-Output "You are now up to date again!"
}
}
else {
Write-Output "No new version found!"
}