<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>BTW, some of this logic is really hairy.  Furthermore I'm afraid i'm not proficient in powershell, so I don't have confidence I can maintain this.</p>
<p><br>
</p>
<p>It might be better to simply move all of this into its own .cmd script.</p>
<p><br>
</p>
<p>Jose</p>
<p><br>
</p>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Dylan Baker <dylan@pnwbakers.com><br>
<b>Sent:</b> Tuesday, June 13, 2017 21:59<br>
<b>To:</b> piglit@lists.freedesktop.org<br>
<b>Cc:</b> Jose Fonseca<br>
<b>Subject:</b> [PATCH 5/7] appveyor: Convert to powerscript blocks for install and build_script</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">This is required to run two types of tests, which is what is needed to<br>
add back tests for the python runner.<br>
<br>
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com><br>
---<br>
 appveyor.yml | 72 +++++++++++++++++++++++++++++++++++++++++-------------------<br>
 1 file changed, 49 insertions(+), 23 deletions(-)<br>
<br>
diff --git a/appveyor.yml b/appveyor.yml<br>
index 520339c87..85045782f 100644<br>
--- a/appveyor.yml<br>
+++ b/appveyor.yml<br>
@@ -47,45 +47,71 @@ environment:<br>
     - MINGW_HOME: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32<br>
       FREEGLUT_ARCHIVE: freeglut-MinGW-3.0.0-1.mp.zip<br>
       FREEGLUT_LIB: lib\libfreeglut.a<br>
+      TEST_TYPE: native<br>
     - MINGW_HOME: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64<br>
       FREEGLUT_ARCHIVE: freeglut-MinGW-3.0.0-1.mp.zip<br>
       FREEGLUT_LIB: lib\x64\libfreeglut.a<br>
+      TEST_TYPE: native<br>
   # - MSVC_ARCH: x86<br>
   #   FREEGLUT_ARCHIVE: freeglut-MSVC-3.0.0-2.mp.zip<br>
   #   FREEGLUT_LIB: lib\freeglut.lib<br>
+  #   TEST_TYPE: native<br>
   # - MSVC_ARCH: x86_amd64<br>
   #   FREEGLUT_ARCHIVE: freeglut-MSVC-3.0.0-2.mp.zip<br>
   #   FREEGLUT_LIB: lib\x64\freeglut.lib<br>
+  #   TEST_TYPE: native<br>
 <br>
 matrix:<br>
   fast_finish: true<br>
 <br>
 install:<br>
-  # Setup Python 3<br>
-  - set Path=%PYTHON_HOME%;%PYTHON_HOME%\Scripts;%Path%<br>
-  - pip --version<br>
-  # Install minimum python requirements<br>
-  - pip install -r python-requirements/minimum.txt<br>
-  - pip install -r python-requirements/python3-extra.txt<br>
-  # Check CMake<br>
-  - cmake --version<br>
-  # Install Ninja<br>
-  - cinst -y ninja<br>
-  - ninja --version<br>
-  # Setup MinGW<br>
-  - if not "%MINGW_HOME%"=="" set Path=%MINGW_HOME%\bin;%Path%<br>
-  # Setup MSVC<br>
-  - if not "%MSVC_ARCH%"=="" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" %MSVC_ARCH%<br>
-  # Install FreeGlut<br>
-  - if not exist "%FREEGLUT_ARCHIVE%" appveyor DownloadFile "<a href="http://files.transmissionzero.co.uk/software/development/GLUT/%FREEGLUT_ARCHIVE%">http://files.transmissionzero.co.uk/software/development/GLUT/%FREEGLUT_ARCHIVE%</a>"<br>
-  - 7z x -y "%FREEGLUT_ARCHIVE%" > nul<br>
-  # Get glext.h<br>
-  - mkdir glext\GL<br>
-  - appveyor DownloadFile <a href="https://www.khronos.org/registry/OpenGL/api/GL/glext.h">
https://www.khronos.org/registry/OpenGL/api/GL/glext.h</a> -FileName glext\GL\glext.h<br>
+  - ps: |<br>
+      if ("$ENV:TEST_TYPE" -eq "native") {<br>
+        # Setup Python 3<br>
+        $ENV:Path="$ENV:PYTHON_HOME;$ENV:PYTHON_HOME\Scripts;$ENV:Path"<br>
+        Write-Host $(pip --version)<br>
+        pip install -r python-requirements/minimum.txt<br>
+        pip install -r python-requirements/python3-extra.txt<br>
+<br>
+        # Check CMake<br>
+        Write-Host $(cmake --version)<br>
+<br>
+        # Install Ninja<br>
+        cinst -y ninja<br>
+        Write-Host $(ninja --version)<br>
+<br>
+        # Setup MinGW<br>
+        if ("$ENV:MINGW_HOME" -ne "") {<br>
+          $ENV:Path = "$ENV:MINGW_HOME\bin;$ENV:Path"<br>
+        }<br>
+<br>
+        # Setup MSVC<br>
+        if ("$ENV:MSVC_ARCH" -ne "") {<br>
+          cmd \c "$ENV:VS140COMNTOOLS\..\..\VC\vcvarsall.bat" $ENV:MSVC_ARCH |<br>
+          foreach {<br>
+            if ($_ -match "=") {<br>
+              $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"<br>
+            }<br>
+          }<br>
+        }<br>
+<br>
+        # Install FreeGlut<br>
+        if (-Not (Test-Path "$ENV:FREEGLUT_ARCHIVE")) {<br>
+          Invoke-WebRequest "<a href="http://files.transmissionzero.co.uk/software/development/GLUT/$ENV:FREEGLUT_ARCHIVE">http://files.transmissionzero.co.uk/software/development/GLUT/$ENV:FREEGLUT_ARCHIVE</a>" -OutFile "$ENV:FREEGLUT_ARCHIVE"<br>
+        }<br>
+        7z x -y "$ENV:FREEGLUT_ARCHIVE" > $null<br>
+<br>
+        # Get glext.h<br>
+        mkdir "glext\GL"<br>
+        Invoke-WebRequest <a href="https://www.khronos.org/registry/OpenGL/api/GL/glext.h">
https://www.khronos.org/registry/OpenGL/api/GL/glext.h</a> -OutFile glext\GL\glext.h<br>
+      }<br>
 <br>
 build_script:<br>
-  - cmake . -Bbuild -G "Ninja" -DGLUT_INCLUDE_DIR=%CD%\freeglut\include -DGLUT_glut_LIBRARY=%CD%\freeglut\%FREEGLUT_LIB% -DGLEXT_INCLUDE_DIR=%CD%\glext<br>
-  - ninja -C build<br>
+  - ps: |<br>
+      if ("$ENV:TEST_TYPE" -eq "native") {<br>
+        cmake . -Bbuild -GNinja "-DGLUT_INCLUDE_DIR=$PWD\freeglut\include" "-DGLUT_glut_LIBRARY=$PWD\freeglut\$ENV:FREEGLUT_LIB" "-DGLEXT_INCLUDE_DIR=$PWD\glext"<br>
+        ninja -C build<br>
+      }<br>
 <br>
 <br>
 # It's possible to setup notification here, as described in<br>
-- <br>
2.13.1<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>