diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh index f79e739f6ae..67cfc2bb0a4 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/build_csharp.sh b/tools/run_tests/build_csharp.sh index eae7bd50405..6737d88b273 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_c.bat b/tools/run_tests/pre_build_c.bat new file mode 100644 index 00000000000..f0449f3c424 --- /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 exist %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 00000000000..853a8f43255 --- /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 exist %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/pre_build_csharp.sh b/tools/run_tests/pre_build_csharp.sh new file mode 100755 index 00000000000..42ff60bea22 --- /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 d38c0c96ee6..c85d6783581 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 [] @@ -321,7 +324,10 @@ class CSharpLanguage(object): for assembly in assemblies] def pre_build_steps(self): - return [] + if self.platform == 'windows': + return [['tools\\run_tests\\pre_build_csharp.bat']] + else: + return [['tools/run_tests/pre_build_csharp.sh']] def make_targets(self): # For Windows, this target doesn't really build anything,