From 9fd61c666a0487cd2d5656ff04b9ab9ba8ff37e8 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Tue, 19 Jan 2016 14:44:20 -0800
Subject: [PATCH] fix artifact building on win

---
 .gitignore                                |  3 +++
 tools/run_tests/build_artifact_csharp.bat | 12 ++++++++++++
 tools/run_tests/build_artifacts.py        |  5 +++--
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 tools/run_tests/build_artifact_csharp.bat

diff --git a/.gitignore b/.gitignore
index 471649d7a0..cc70659661 100644
--- a/.gitignore
+++ b/.gitignore
@@ -82,3 +82,6 @@ DerivedData
 # Podfile.lock and the workspace file are tracked, to ease deleting them. That's
 # needed to trigger "pod install" to rerun the preinstall commands.
 Pods/
+
+# Artifacts directory
+artifacts/
diff --git a/tools/run_tests/build_artifact_csharp.bat b/tools/run_tests/build_artifact_csharp.bat
new file mode 100644
index 0000000000..49a8ada6ac
--- /dev/null
+++ b/tools/run_tests/build_artifact_csharp.bat
@@ -0,0 +1,12 @@
+@rem Builds C# artifacts on Windows
+
+@call vsprojects\build_vs2013.bat %* || goto :error
+
+mkdir artifacts
+copy /Y vsprojects\Release\grpc_csharp_ext.dll artifacts || goto :error
+
+goto :EOF
+
+:error
+echo Failed!
+exit /b %errorlevel%
diff --git a/tools/run_tests/build_artifacts.py b/tools/run_tests/build_artifacts.py
index 0d7e3bd56b..0fd5bc63f3 100755
--- a/tools/run_tests/build_artifacts.py
+++ b/tools/run_tests/build_artifacts.py
@@ -45,7 +45,8 @@ import time
 import uuid
 
 # Docker doesn't clean up after itself, so we do it on exit.
-atexit.register(lambda: subprocess.call(['stty', 'echo']))
+if jobset.platform_string() == 'linux':
+  atexit.register(lambda: subprocess.call(['stty', 'echo']))
 
 ROOT = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../..'))
 os.chdir(ROOT)
@@ -122,7 +123,7 @@ class CSharpExtArtifact:
     if self.platform == 'windows':
       msbuild_platform = 'Win32' if self.arch == 'x86' else self.arch
       return create_jobspec(self.name,
-                            ['vsprojects\\build_vs2013.bat',
+                            ['tools\\run_tests\\build_artifact_csharp.bat',
                              'vsprojects\\grpc_csharp_ext.sln',
                              '/p:Configuration=Release',
                              '/p:PlatformToolset=v120',
-- 
GitLab