From 7418bd0d7941149a6ee7d06ad9f724cdb635ea44 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 18 Jun 2017 21:11:54 -0700 Subject: scripts: Cleanup nuget_build.ps1 Correctly check for error codes and don't run .bat file since it doesn't work anyway (the variables it sets aren't accessible in PowerShell, and the path to the script doesn't seem to be the same in VS2017). --- scripts/nuget_build.ps1 | 44 ++++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/scripts/nuget_build.ps1 b/scripts/nuget_build.ps1 index bcb774f..a8e3017 100644 --- a/scripts/nuget_build.ps1 +++ b/scripts/nuget_build.ps1 @@ -1,33 +1,25 @@ +function Run-Command +{ + Invoke-Expression $args[0] + if ($LastExitCode) { exit $LastExitCode } +} + Push-Location $scriptdir = Split-Path $MyInvocation.MyCommand.Path cd $scriptdir -"%VS141COMNTOOLS%\VsMSBuildCmd.bat" -msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} -msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo -If(!$?){exit 1} +Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo" +Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo" Write-NuGetPackage nuget.autopkg -If(!$?){exit 1} Pop-Location -- cgit v1.2.3 From 9357837d2e4331a29bdab77120d5baaaec05de50 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 18 Jun 2017 21:21:58 -0700 Subject: Add VS2017 to AppVeyor test run This requires moving the list of VS versions out of autotest-appveyor.ps1 and into appveyor.yml. --- appveyor.yml | 11 ++++++----- tests/autotest-appveyor.ps1 | 13 +++++++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index a42990f..51adf2e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,6 @@ image: -- Visual Studio 2015 -- Visual Studio 2017 + - Visual Studio 2015 + - Visual Studio 2017 version: "{branch}-{build}" @@ -11,10 +11,11 @@ install: - ps: Import-Module CoApp build_script: - - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017"){.\scripts\nuget_build.ps1} + - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\scripts\nuget_build.ps1 } test_script: - - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015"){.\tests\autotest-appveyor.ps1} + - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { .\tests\autotest-appveyor.ps1 9 10 11 12 14 } + - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\tests\autotest-appveyor.ps1 15 } artifacts: - - path: .\scripts\*.nupkg \ No newline at end of file + - path: .\scripts\*.nupkg diff --git a/tests/autotest-appveyor.ps1 b/tests/autotest-appveyor.ps1 index 0b8717c..e3805c7 100644 --- a/tests/autotest-appveyor.ps1 +++ b/tests/autotest-appveyor.ps1 @@ -12,13 +12,22 @@ function Invoke-CmdScript($scriptName) $sources = @("src/pugixml.cpp") + (Get-ChildItem -Path "tests/*.cpp" -Exclude "fuzz_*.cpp") $failed = $FALSE -foreach ($vs in 9,10,11,12,14) +foreach ($vs in $args) { foreach ($arch in "x86","x64") { Write-Output "# Setting up VS$vs $arch" - Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio $vs.0\VC\vcvarsall.bat" $arch + if ($vs -eq 15) + { + $vsdevcmdarch = if ($arch -eq "x64") { "amd64" } else { "x86" } + Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" "-arch=$vsdevcmdarch" + } + else + { + Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio $vs.0\VC\vcvarsall.bat" $arch + } + if (! $?) { throw "Error setting up VS$vs $arch" } foreach ($defines in "standard", "PUGIXML_WCHAR_MODE", "PUGIXML_COMPACT") -- cgit v1.2.3