From 242ead7ffbc8bb57b2d444ce64cce50026f73f57 Mon Sep 17 00:00:00 2001 From: Janis Date: Fri, 28 Oct 2022 21:34:25 +0200 Subject: [PATCH] added update script --- update.ps1 | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 update.ps1 diff --git a/update.ps1 b/update.ps1 new file mode 100644 index 0000000..e76eb4e --- /dev/null +++ b/update.ps1 @@ -0,0 +1,55 @@ +Write-Output "Starting update..." + +$currentVersionString = (Get-Content .\meta.json | ConvertFrom-Json).version +Write-Output "Current version: $currentVersion" + +Write-Output "Searching for newest version..." +$newestVersionString = "" +$req = Invoke-WebRequest https://github.com/DerTyp876/ts5-obs-overlay/releases/tag/v0.1.2 + +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: $newestVersion" + + + $currentVersion = ($currentVersionString -replace "v").split(".") + $newestVersion = ($newestVersionString -replace "v").split(".") + + if ($currentVersion[0] -gt $newestVersion[0]) { + Write-Output "Current version is up to date!" + } + elseif ($currentVersion[1] -gt $newestVersion[1]) { + Write-Output "Current version is up to date!" + } + elseif ($currentVersion[2] -ge $newestVersion[2]) { + Write-Output "Current version is up to date!" + } + else { + Write-Output "Updating to newer version..." + + Remove-Item * -Recurse -Force -Confirm -Exclude "update.ps1" + + mkdir ./temp + attrib +h ./temp + Write-Output "Downloading newer version..." + Invoke-WebRequest -Uri "https://github.com/DerTyp876/ts5-obs-overlay/archive/refs/tags/v0.1.2.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!" +} + + +