|  | @@ -0,0 +1,184 @@
 | 
	
		
			
				|  |  | +version: "{branch}.build.{build}"
 | 
	
		
			
				|  |  | +skip_tags: true
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +branches:
 | 
	
		
			
				|  |  | +        only:
 | 
	
		
			
				|  |  | +                - master
 | 
	
		
			
				|  |  | +                - dev
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +clone_folder:  c:\projects\xlswriter
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install:
 | 
	
		
			
				|  |  | +        ps: |
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache)) {
 | 
	
		
			
				|  |  | +                        mkdir c:\build-cache
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                $bname = 'php-sdk-' + $env:BIN_SDK_VER + '.zip'
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$bname)) {
 | 
	
		
			
				|  |  | +                        Invoke-WebRequest "https://github.com/OSTC/php-sdk-binary-tools/archive/$bname" -OutFile "c:\build-cache\$bname"
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                $dname0 = 'php-sdk-binary-tools-php-sdk-' + $env:BIN_SDK_VER
 | 
	
		
			
				|  |  | +                $dname1 = 'php-sdk-' + $env:BIN_SDK_VER
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$dname1)) {
 | 
	
		
			
				|  |  | +                        7z x c:\build-cache\$bname -oc:\build-cache
 | 
	
		
			
				|  |  | +                        move c:\build-cache\$dname0 c:\build-cache\$dname1
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                $lname2 = 'zlib-1.2.11.tar.gz'
 | 
	
		
			
				|  |  | +                $lname3 = 'zlib'
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$lname2)) {
 | 
	
		
			
				|  |  | +                        $zliurl = "http://zlib.net/" + $lname2
 | 
	
		
			
				|  |  | +                        Invoke-WebRequest $zliurl -OutFile "c:\build-cache\$lname2"
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$lname3)) {
 | 
	
		
			
				|  |  | +                        & 7z x c:\build-cache\$lname2 -oc:\build-cache
 | 
	
		
			
				|  |  | +                        & 7z x c:\build-cache\zlib-1.2.11.tar -oc:\build-cache\$lname3
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$lname3\Release)) {
 | 
	
		
			
				|  |  | +                       cd c:\build-cache\$lname3\zlib-1.2.11
 | 
	
		
			
				|  |  | +                       $cmakegen = 'Visual Studio 15 2017'
 | 
	
		
			
				|  |  | +                       if ($env:VC -Match "vc14") {
 | 
	
		
			
				|  |  | +                              $cmakegen = "Visual Studio 14 2015"
 | 
	
		
			
				|  |  | +                       }
 | 
	
		
			
				|  |  | +                       & cmake -G $cmakegen -DCMAKE_BUILD_TYPE="Release" -DCMAKE_C_FLAGS_RELEASE="/MT"
 | 
	
		
			
				|  |  | +                       & cmake --build . --config "Release"
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +cache:
 | 
	
		
			
				|  |  | +        c:\build-cache -> .appveyor.yml
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +environment:
 | 
	
		
			
				|  |  | +        BIN_SDK_VER: 2.1.2
 | 
	
		
			
				|  |  | +        LIBXLSXWRITER_VER: 0.7.7
 | 
	
		
			
				|  |  | +        matrix:
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.0.28
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.0.28
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.0.28
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.0.28
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.1.15
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.1.15
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.1.15
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc14
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.1.15
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc15
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.2.3
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
 | 
	
		
			
				|  |  | +                  ARCH: x64
 | 
	
		
			
				|  |  | +                  VC: vc15
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.2.3
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc15
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.2.3
 | 
	
		
			
				|  |  | +                  TS: 0
 | 
	
		
			
				|  |  | +                - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
 | 
	
		
			
				|  |  | +                  ARCH: x86
 | 
	
		
			
				|  |  | +                  VC: vc15
 | 
	
		
			
				|  |  | +                  PHP_VER: 7.2.3
 | 
	
		
			
				|  |  | +                  TS: 1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +build_script:
 | 
	
		
			
				|  |  | +        ps: |
 | 
	
		
			
				|  |  | +                $ts_part = ''
 | 
	
		
			
				|  |  | +                if ('0' -eq $env:TS) { $ts_part = '-nts' }
 | 
	
		
			
				|  |  | +                $bname = 'php-devel-pack-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$bname)) {
 | 
	
		
			
				|  |  | +                        Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
 | 
	
		
			
				|  |  | +                        if (-not (Test-Path c:\build-cache\$bname)) {
 | 
	
		
			
				|  |  | +                                Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                $dname0 = 'php-' + $env:PHP_VER + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
 | 
	
		
			
				|  |  | +                $dname1 = 'php-' + $env:PHP_VER + $ts_part + '-devel-' + $env:VC.toUpper() + '-' + $env:ARCH
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$dname1)) {
 | 
	
		
			
				|  |  | +                        7z x c:\build-cache\$bname -oc:\build-cache
 | 
	
		
			
				|  |  | +                        move c:\build-cache\$dname0 c:\build-cache\$dname1
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                cd c:\projects\xlswriter
 | 
	
		
			
				|  |  | +                $env:PATH = 'c:\build-cache\' + $dname1 + ';' + $env:PATH
 | 
	
		
			
				|  |  | +                #echo "@echo off" | Out-File -Encoding "ASCII" task.bat
 | 
	
		
			
				|  |  | +                #echo "" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo "" | Out-File -Encoding "ASCII" task.bat
 | 
	
		
			
				|  |  | +                echo "call git submodule update --init 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo "call phpize 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                $conf_cmd = 'call configure --with-xlswriter --with-extra-libs=c:\build-cache\zlib\zlib-1.2.11\Release --with-extra-includes=c:\build-cache\zlib\zlib-1.2.11 --enable-debug-pack 2>&1'
 | 
	
		
			
				|  |  | +                echo $conf_cmd | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo "nmake /nologo 2>&1" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                $here = (Get-Item -Path "." -Verbose).FullName
 | 
	
		
			
				|  |  | +                $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
 | 
	
		
			
				|  |  | +                $task = $here + '\task.bat'
 | 
	
		
			
				|  |  | +                & $runner -t $task
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +after_build:
 | 
	
		
			
				|  |  | +        ps: |
 | 
	
		
			
				|  |  | +                $ts_part = 'ts'
 | 
	
		
			
				|  |  | +                if ('0' -eq $env:TS) { $ts_part = 'nts' }
 | 
	
		
			
				|  |  | +                $zip_bname = 'php_xlswriter-' + $env:APPVEYOR_REPO_COMMIT.substring(0, 8) + '-' + $env:PHP_VER.substring(0, 3) + '-' + $ts_part + '-' + $env:VC + '-' + $env:ARCH + '.zip'
 | 
	
		
			
				|  |  | +                $dir = 'c:\projects\xlswriter\';
 | 
	
		
			
				|  |  | +                if ('x64' -eq $env:ARCH) { $dir = $dir + 'x64\' }
 | 
	
		
			
				|  |  | +                $dir = $dir + 'Release'
 | 
	
		
			
				|  |  | +                if ('1' -eq $env:TS) { $dir = $dir + '_TS' }
 | 
	
		
			
				|  |  | +                & 7z a c:\$zip_bname $dir\php_xlswriter.dll c:\projects\xlswriter\LICENSE
 | 
	
		
			
				|  |  | +                Push-AppveyorArtifact c:\$zip_bname
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +test_script:
 | 
	
		
			
				|  |  | +        ps: |
 | 
	
		
			
				|  |  | +                $ts_part = ''
 | 
	
		
			
				|  |  | +                if ('0' -eq $env:TS) { $ts_part = '-nts' }
 | 
	
		
			
				|  |  | +                $bname = 'php-' + $env:PHP_VER + $ts_part + '-Win32-' + $env:VC.toUpper() + '-' + $env:ARCH + '.zip'
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$bname)) {
 | 
	
		
			
				|  |  | +                        Invoke-WebRequest "http://windows.php.net/downloads/releases/archives/$bname" -OutFile "c:\build-cache\$bname"
 | 
	
		
			
				|  |  | +                        if (-not (Test-Path c:\build-cache\$bname)) {
 | 
	
		
			
				|  |  | +                                Invoke-WebRequest "http://windows.php.net/downloads/releases/$bname" -OutFile "c:\build-cache\$bname"
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                $dname = 'php-' + $env:PHP_VER + $ts_part + '-' + $env:VC.toUpper() + '-' + $env:ARCH
 | 
	
		
			
				|  |  | +                if (-not (Test-Path c:\build-cache\$dname)) {
 | 
	
		
			
				|  |  | +                        7z x c:\build-cache\$bname -oc:\build-cache\$dname
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                cd c:\projects\xlswriter
 | 
	
		
			
				|  |  | +                echo "" | Out-File -Encoding "ASCII" task.bat
 | 
	
		
			
				|  |  | +                echo "set REPORT_EXIT_STATUS=1" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                $cmd = 'call configure --with-xlswriter --with-xlswriter --with-extra-libs=c:\build-cache\zlib\zlib-1.2.11\Release --with-extra-includes=c:\build-cache\zlib\zlib-1.2.11 --with-prefix=c:\build-cache\' + $dname + ' 2>&1'
 | 
	
		
			
				|  |  | +                echo $cmd | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo 'nmake /nologo test TESTS="-q --show-diff --set-timeout 120" 2>&1' | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                echo "exit %errorlevel%" | Out-File -Encoding "ASCII" -Append task.bat
 | 
	
		
			
				|  |  | +                $here = (Get-Item -Path "." -Verbose).FullName
 | 
	
		
			
				|  |  | +                $runner = 'c:\build-cache\php-sdk-' + $env:BIN_SDK_VER + '\phpsdk' + '-' + $env:VC + '-' + $env:ARCH + '.bat'
 | 
	
		
			
				|  |  | +                $task = $here + '\task.bat'
 | 
	
		
			
				|  |  | +                & $runner -t $task
 |