Skip to content

Commit 5d406fb

Browse files
committed
Add fallback to 7zip for extracting
1 parent e148b44 commit 5d406fb

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

php/BuildPhp/private/Add-TestRequirements.ps1

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,22 @@ function Add-TestRequirements {
6060
Write-Host "Downloading PHP build $binZipFile..."
6161
Get-PhpBuild -PhpVersion $PhpVersion -Arch $Arch -Ts $Ts -VsVersion $VsVersion
6262
} else {
63-
[System.IO.Compression.ZipFile]::ExtractToDirectory($binZipFilePath, $binDirectoryPath)
63+
try {
64+
[System.IO.Compression.ZipFile]::ExtractToDirectory($binZipFilePath, $binDirectoryPath)
65+
} catch {
66+
7z x $binZipFilePath "-o$binDirectoryPath" -y | Out-Null
67+
}
6468
}
6569

6670
if(-not(Test-Path $testZipFilePath)) {
6771
Write-Host "Downloading PHP test pack $testZipFile..."
6872
Get-PhpTestPack -PhpVersion $PhpVersion -TestsDirectory $TestsDirectory
6973
} else {
70-
[System.IO.Compression.ZipFile]::ExtractToDirectory($testZipFilePath, $testsDirectoryPath)
74+
try {
75+
[System.IO.Compression.ZipFile]::ExtractToDirectory($testZipFilePath, $testsDirectoryPath)
76+
} catch {
77+
7z x $testZipFilePath "-o$testsDirectoryPath" -y | Out-Null
78+
}
7179
}
7280

7381
$FetchDeps = $False

php/BuildPhp/private/Get-PhpBuild.ps1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ function Get-PhpBuild {
6868
$binZipFilePath = Join-Path $currentDirectory $binZipFile
6969
$binDirectoryPath = Join-Path $currentDirectory phpbin
7070

71-
[System.IO.Compression.ZipFile]::ExtractToDirectory($binZipFilePath, $binDirectoryPath)
71+
try {
72+
[System.IO.Compression.ZipFile]::ExtractToDirectory($binZipFilePath, $binDirectoryPath)
73+
} catch {
74+
7z x $binZipFilePath "-o$binDirectoryPath" -y | Out-Null
75+
}
7276
}
7377
end {
7478
}

php/BuildPhp/private/Get-PhpTestPack.ps1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ function Get-PhpTestPack {
4949
$testZipFilePath = Join-Path $currentDirectory $testZipFile
5050
$testsDirectoryPath = Join-Path $currentDirectory $TestsDirectory
5151

52-
[System.IO.Compression.ZipFile]::ExtractToDirectory($testZipFilePath, $testsDirectoryPath)
52+
try {
53+
[System.IO.Compression.ZipFile]::ExtractToDirectory($testZipFilePath, $testsDirectoryPath)
54+
} catch {
55+
7z x $testZipFilePath "-o$testsDirectoryPath" -y | Out-Null
56+
}
5357
}
5458
end {
5559
}

0 commit comments

Comments
 (0)