diff --git a/scripts/build.ps1 b/scripts/build.ps1 index 465a784..ef97241 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -48,8 +48,8 @@ function Ensure-Exists ($item) { } function Ensure-Executable ($command) { - try { Get-Command $command -ErrorAction Stop > $null} - catch{ + try { Get-Command $command -ErrorAction Stop > $null } + catch { Write-Error "Missing $command! Ensure it is installed and on in the PATH" exit 1 } @@ -74,6 +74,14 @@ function Flatten-Directory ($name) { Remove-Item -Recurse "$($name)_moving" } +function Extract-Archive ($source, $target) { + Invoke-Expression "7z x -y -o$($target) $source" + if ($lastexitcode -ne 0) { + Write-Error "Extracting of $source failied" + } + Remove-Item $source +} + $ErrorActionPreference = "Stop" # Check for requirements @@ -92,8 +100,7 @@ foreach ($s in $sources) { Delete-Existing $s.name Invoke-WebRequest -Uri $s.url -OutFile $tempArchive -ErrorAction Stop - Invoke-Expression "7z x -y -o$($s.name) $tempArchive > `$null" - Remove-Item $tempArchive + Extract-Archive $tempArchive $s.name if ((Get-Childitem $s.name).Count -eq 1) { Flatten-Directory($s.name) @@ -102,4 +109,4 @@ foreach ($s in $sources) { } Pop-Location -Write-Output "All good and done!" \ No newline at end of file +Write-Output "All good and done!"