1 $ErrorActionPreference = "Stop"
2 
3 if (-not (Test-Path 'C:\build-cache')) {
4     [void](New-Item 'C:\build-cache' -ItemType 'directory')
5 }
6 
7 # PHP SDK
8 $bname = "php-sdk-$env:BIN_SDK_VER.zip"
9 if (-not (Test-Path C:\build-cache\$bname)) {
10     Invoke-WebRequest "https://github.com/microsoft/php-sdk-binary-tools/archive/$bname" -OutFile "C:\build-cache\$bname"
11 }
12 $dname0 = "php-sdk-binary-tools-php-sdk-$env:BIN_SDK_VER"
13 $dname1 = "php-sdk-$env:BIN_SDK_VER"
14 if (-not (Test-Path "C:\build-cache\$dname1")) {
15     Expand-Archive "C:\build-cache\$bname" "C:\build-cache"
16     Move-Item "C:\build-cache\$dname0" "C:\build-cache\$dname1"
17 }
18 
19 # PHP devel pack
20 $ts_part = ''
21 if ('0' -eq $env:TS) {
22     $ts_part = '-nts'
23 }
24 $bname = "php-devel-pack-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH.zip"
25 if (-not (Test-Path "C:\build-cache\$bname")) {
26     try {
27         Invoke-WebRequest "https://windows.php.net/downloads/releases/archives/$bname" -OutFile "C:\build-cache\$bname"
28     } catch [System.Net.WebException] {
29         Invoke-WebRequest "https://windows.php.net/downloads/releases/$bname" -OutFile "C:\build-cache\$bname"
30     }
31 }
32 $dname0 = "php-$env:PHP_VER-devel-$env:VC-$env:ARCH"
33 $dname1 = "php-$env:PHP_VER$ts_part-devel-$env:VC-$env:ARCH"
34 if (-not (Test-Path "C:\build-cache\$dname1")) {
35     Expand-Archive "C:\build-cache\$bname" 'C:\build-cache'
36     if ($dname0 -ne $dname1) {
37         Move-Item "C:\build-cache\$dname0" "C:\build-cache\$dname1"
38     }
39 }
40 $env:PATH = "C:\build-cache\$dname1;$env:PATH"
41 
42 # PHP binary
43 $bname = "php-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH.zip"
44 if (-not (Test-Path "C:\build-cache\$bname")) {
45     try {
46         Invoke-WebRequest "https://windows.php.net/downloads/releases/archives/$bname" -OutFile "C:\build-cache\$bname"
47     } catch [System.Net.WebException] {
48         Invoke-WebRequest "https://windows.php.net/downloads/releases/$bname" -OutFile "C:\build-cache\$bname"
49     }
50 }
51 $dname = "php-$env:PHP_VER$ts_part-Win32-$env:VC-$env:ARCH"
52 if (-not (Test-Path "C:\build-cache\$dname")) {
53     Expand-Archive "C:\build-cache\$bname" "C:\build-cache\$dname"
54 }
55 $env:PHP_PATH = "C:\build-cache\$dname"
56 $env:PATH = "$env:PHP_PATH;$env:PATH"
57 
58 # library dependency
59 $bname = "$env:DEP-$env:VC-$env:ARCH.zip"
60 if (-not (Test-Path "C:\build-cache\$bname")) {
61     Invoke-WebRequest "https://windows.php.net/downloads/pecl/deps/$bname" -OutFile "C:\build-cache\$bname"
62     Expand-Archive "C:\build-cache\$bname" 'C:\build-cache\deps'
63 }
64 $env:PATH = "C:\build-cache\deps\bin;$env:PATH"
65