diff --git a/utils/build.ps1 b/utils/build.ps1 index 00ab8a8e29d0..cbd12da8c4ca 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1221,6 +1221,7 @@ function Get-Dependencies { param ( [string]$SourceName, + [string]$BinaryCache, [string]$DestinationName ) $Source = Join-Path -Path $BinaryCache -ChildPath $SourceName @@ -1367,12 +1368,14 @@ function Get-Dependencies { if ($EnableCaching) { $SCCache = Get-SCCache - $FileExtension = [System.IO.Path]::GetExtension($SCCache.URL) - DownloadAndVerify $SCCache.URL "$BinaryCache\sccache-$SCCacheVersion.$FileExtension" $SCCache.SHA256 - if ($FileExtension -eq "tar.gz") { - Expand-TapeArchive sccache-$SCCacheVersion.$FileExtension $BinaryCache sccache-$SCCacheVersion + $FileExtension = if ($SCCache.URL -match '\.(?:tar\.gz|zip)$') { $Matches[0] } else { + throw "Invalid sccache URL" + } + DownloadAndVerify $SCCache.URL "$BinaryCache\sccache-$SCCacheVersion$FileExtension" $SCCache.SHA256 + if ($FileExtension -eq ".tar.gz") { + Expand-TapeArchive "sccache-$SCCacheVersion$FileExtension" $BinaryCache "sccache-$SCCacheVersion" } else { - Expand-ZipFile sccache-$SCCacheVersion.$FileExtension $BinaryCache sccache-$SCCacheVersion + Expand-ZipFile "sccache-$SCCacheVersion$FileExtension" $BinaryCache "sccache-$SCCacheVersion" } Write-Success "sccache $SCCacheVersion" }