From b981c99c9f52b356db0131930a40e199ffb9cdc2 Mon Sep 17 00:00:00 2001 From: Xevion Date: Thu, 3 Oct 2024 03:30:58 -0500 Subject: [PATCH] Add run.ps1 --- run.ps1 | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 run.ps1 diff --git a/run.ps1 b/run.ps1 new file mode 100644 index 0000000..66923db --- /dev/null +++ b/run.ps1 @@ -0,0 +1,43 @@ +$ErrorActionPreference = "Stop" + +$osPlatform = [System.Runtime.InteropServices.RuntimeInformation]::OSDescription +$architecture = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture + +# Adjust the platform and architecture for the API call +$platform = switch -Wildcard ($osPlatform) { + "*Windows*" { "win32" } + "*Linux*" { "linux" } + "*Darwin*" { "darwin" } + Default { "unknown" } +} + +$arch = switch ($architecture) { + "X64" { "x64" } + "X86" { "x86" } + "Arm" { "arm" } + "Arm64" { "arm64" } + Default { "unknown" } +} + +if ($platform -ne "win32") { + Write-Host "It looks like you are not on a Windows platform. Please use the native SH script option for your platform." + exit 1 +} + + +$target = "x86_64-pc-windows-msvc" + +# Fetch the latest release download URL +$REPO = "Xevion/spotify-player-quickauth" +$API_URL = "https://api.github.com/repos/$REPO/releases/latest" +$DOWNLOAD_URL = (Invoke-RestMethod -Uri $API_URL).assets | Where-Object { $_.browser_download_url -match $target } | Select-Object -ExpandProperty browser_download_url + +if (-not $DOWNLOAD_URL) { + Write-Host "No release could be found for the current platform" + exit 1 +} + +$EXECUTABLE = "spotify-player-quickauth.exe" +Invoke-WebRequest -Uri $DOWNLOAD_URL -OutFile $EXECUTABLE +Start-Process -FilePath $EXECUTABLE -Wait +Remove-Item $EXECUTABLE