From 48423fc84362e195854a7e2bcf244ff29f03cee7 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 7 Oct 2015 18:59:16 -0700 Subject: move C# nuget restore on linux to prebuild phase --- tools/run_tests/build_csharp.sh | 12 ++--------- tools/run_tests/pre_build_csharp.sh | 41 +++++++++++++++++++++++++++++++++++++ tools/run_tests/run_tests.py | 5 ++++- 3 files changed, 47 insertions(+), 11 deletions(-) create mode 100755 tools/run_tests/pre_build_csharp.sh diff --git a/tools/run_tests/build_csharp.sh b/tools/run_tests/build_csharp.sh index eae7bd5040..6737d88b27 100755 --- a/tools/run_tests/build_csharp.sh +++ b/tools/run_tests/build_csharp.sh @@ -37,14 +37,6 @@ else MSBUILD_CONFIG="Release" fi -# change to gRPC repo root -cd $(dirname $0)/../.. +cd $(dirname $0)/../../src/csharp -root=`pwd` - -if [ -n "$NUGET" ] -then - $NUGET restore src/csharp/Grpc.sln -fi - -xbuild /p:Configuration=$MSBUILD_CONFIG src/csharp/Grpc.sln +xbuild /p:Configuration=$MSBUILD_CONFIG Grpc.sln diff --git a/tools/run_tests/pre_build_csharp.sh b/tools/run_tests/pre_build_csharp.sh new file mode 100755 index 0000000000..42ff60bea2 --- /dev/null +++ b/tools/run_tests/pre_build_csharp.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +# cd to gRPC csharp directory +cd $(dirname $0)/../../src/csharp + +root=`pwd` + +if [ -n "$NUGET" ] +then + $NUGET restore Grpc.sln +fi diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 6423ecfd7c..69a480ac85 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -321,7 +321,10 @@ class CSharpLanguage(object): for assembly in assemblies] def pre_build_steps(self): - return [] + if self.platform == 'windows': + return [] + else: + return [['tools/run_tests/pre_build_csharp.sh']] def make_targets(self): # For Windows, this target doesn't really build anything, -- cgit v1.2.3 From 874aec02b45dd3c3a8e8ae6c158ead268cbc1d47 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 7 Oct 2015 19:26:19 -0700 Subject: move nuget restore into prebuild step on windows --- tools/jenkins/run_jenkins.sh | 4 ---- tools/run_tests/pre_build_c.bat | 21 +++++++++++++++++++++ tools/run_tests/pre_build_csharp.bat | 22 ++++++++++++++++++++++ tools/run_tests/run_tests.py | 7 +++++-- 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 tools/run_tests/pre_build_c.bat create mode 100644 tools/run_tests/pre_build_csharp.bat diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh index f79e739f6a..67cfc2bb0a 100755 --- a/tools/jenkins/run_jenkins.sh +++ b/tools/jenkins/run_jenkins.sh @@ -63,10 +63,6 @@ then # Prevent msbuild from picking up "platform" env variable, which would break the build unset platform - # TODO(jtattermusch): integrate nuget restore in a nicer way. - /cygdrive/c/nuget/nuget.exe restore vsprojects/grpc.sln - /cygdrive/c/nuget/nuget.exe restore src/csharp/Grpc.sln - python tools/run_tests/run_tests.py -t -l $language -x report.xml $@ || true elif [ "$platform" == "macos" ] diff --git a/tools/run_tests/pre_build_c.bat b/tools/run_tests/pre_build_c.bat new file mode 100644 index 0000000000..ac8a375ad7 --- /dev/null +++ b/tools/run_tests/pre_build_c.bat @@ -0,0 +1,21 @@ +@rem Performs nuget restore step for C/C++. + +setlocal + +@rem enter repo root +cd /d %~dp0\..\.. + +@rem Location of nuget.exe +set NUGET=C:\nuget\nuget.exe + +if exists %NUGET% ( + %NUGET% restore vsprojects/grpc.sln || goto :error +) + +endlocal + +goto :EOF + +:error +echo Failed! +exit /b %errorlevel% diff --git a/tools/run_tests/pre_build_csharp.bat b/tools/run_tests/pre_build_csharp.bat new file mode 100644 index 0000000000..f5890c2743 --- /dev/null +++ b/tools/run_tests/pre_build_csharp.bat @@ -0,0 +1,22 @@ +@rem Performs nuget restore step for C#. + +setlocal + +@rem enter repo root +cd /d %~dp0\..\.. + +@rem Location of nuget.exe +set NUGET=C:\nuget\nuget.exe + +if exists %NUGET% ( + %NUGET% restore vsprojects/grpc_csharp_ext.sln || goto :error + %NUGET% restore src/csharp/Grpc.sln || goto :error +) + +endlocal + +goto :EOF + +:error +echo Failed! +exit /b %errorlevel% diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 69a480ac85..d5036d55d8 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -167,7 +167,10 @@ class CLanguage(object): return ['buildtests_%s' % self.make_target, 'tools_%s' % self.make_target] def pre_build_steps(self): - return [] + if self.platform == 'windows': + return [['tools\\run_tests\\pre_build_c.bat']] + else: + return [] def build_steps(self): return [] @@ -322,7 +325,7 @@ class CSharpLanguage(object): def pre_build_steps(self): if self.platform == 'windows': - return [] + return [['tools\\run_tests\\pre_build_csharp.bat']] else: return [['tools/run_tests/pre_build_csharp.sh']] -- cgit v1.2.3 From 6438cfcaf2441c402cef8e53e8ca60429e91282e Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 7 Oct 2015 19:41:23 -0700 Subject: fix if exist syntax in .bat files --- tools/run_tests/pre_build_c.bat | 2 +- tools/run_tests/pre_build_csharp.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/run_tests/pre_build_c.bat b/tools/run_tests/pre_build_c.bat index ac8a375ad7..f0449f3c42 100644 --- a/tools/run_tests/pre_build_c.bat +++ b/tools/run_tests/pre_build_c.bat @@ -8,7 +8,7 @@ cd /d %~dp0\..\.. @rem Location of nuget.exe set NUGET=C:\nuget\nuget.exe -if exists %NUGET% ( +if exist %NUGET% ( %NUGET% restore vsprojects/grpc.sln || goto :error ) diff --git a/tools/run_tests/pre_build_csharp.bat b/tools/run_tests/pre_build_csharp.bat index f5890c2743..853a8f4325 100644 --- a/tools/run_tests/pre_build_csharp.bat +++ b/tools/run_tests/pre_build_csharp.bat @@ -8,7 +8,7 @@ cd /d %~dp0\..\.. @rem Location of nuget.exe set NUGET=C:\nuget\nuget.exe -if exists %NUGET% ( +if exist %NUGET% ( %NUGET% restore vsprojects/grpc_csharp_ext.sln || goto :error %NUGET% restore src/csharp/Grpc.sln || goto :error ) -- cgit v1.2.3