From 17c92b33647d8ab8e97019d12b5e205bb5c10b3d Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 20 Apr 2015 17:01:24 -0700 Subject: [PATCH 1/4] Spec for Grpc.Core nuget package that works --- src/csharp/Grpc.Core/Grpc.Core.csproj | 5 +++-- src/csharp/Grpc.Core/Grpc.Core.nuspec | 10 ++++++++-- src/csharp/Grpc.Core/packages.config | 2 +- .../Grpc.IntegrationTesting.csproj | 5 +++-- src/csharp/Grpc.IntegrationTesting/packages.config | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/csharp/Grpc.Core/Grpc.Core.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj index b4b42dfbf5b..b612512b03c 100644 --- a/src/csharp/Grpc.Core/Grpc.Core.csproj +++ b/src/csharp/Grpc.Core/Grpc.Core.csproj @@ -34,8 +34,9 @@ - - ..\packages\System.Collections.Immutable.1.1.34-rc\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll + + False + ..\packages\Microsoft.Bcl.Immutable.1.0.34\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll diff --git a/src/csharp/Grpc.Core/Grpc.Core.nuspec b/src/csharp/Grpc.Core/Grpc.Core.nuspec index f2032522c90..6a40277e0f2 100644 --- a/src/csharp/Grpc.Core/Grpc.Core.nuspec +++ b/src/csharp/Grpc.Core/Grpc.Core.nuspec @@ -1,5 +1,5 @@ - + Grpc.Core gRPC Core @@ -7,7 +7,7 @@ Core C# implementation of gRPC - an RPC library and framework. See project site for more info. This is an experimental release, not ready to use. - 0.2.0 + 0.2.1 Google Inc. jtattermusch https://github.com/grpc/grpc/blob/master/LICENSE @@ -16,6 +16,12 @@ The first experimental release. Not ready to use. Copyright 2015, Google Inc. gRPC RPC Protocol HTTP/2 + + + + + + diff --git a/src/csharp/Grpc.Core/packages.config b/src/csharp/Grpc.Core/packages.config index 669c1dc625c..71967de56e5 100644 --- a/src/csharp/Grpc.Core/packages.config +++ b/src/csharp/Grpc.Core/packages.config @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj index c3e5f03074a..584bf1068de 100644 --- a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj +++ b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj @@ -39,8 +39,9 @@ ..\packages\Google.ProtocolBuffers.2.4.1.521\lib\net40\Google.ProtocolBuffers.dll - - ..\packages\System.Collections.Immutable.1.1.34-rc\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll + + False + ..\packages\Microsoft.Bcl.Immutable.1.0.34\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll diff --git a/src/csharp/Grpc.IntegrationTesting/packages.config b/src/csharp/Grpc.IntegrationTesting/packages.config index 157c264eac0..335f829432d 100644 --- a/src/csharp/Grpc.IntegrationTesting/packages.config +++ b/src/csharp/Grpc.IntegrationTesting/packages.config @@ -1,6 +1,6 @@  + - \ No newline at end of file From 65c2020d8900958bc91838b98b0d646fc32a7c35 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 20 Apr 2015 17:03:10 -0700 Subject: [PATCH 2/4] fix typo in vcxproj template --- templates/vsprojects/vcxproj_defs.include | 2 +- vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/vsprojects/vcxproj_defs.include b/templates/vsprojects/vcxproj_defs.include index 61baa2b35de..062a3b02476 100644 --- a/templates/vsprojects/vcxproj_defs.include +++ b/templates/vsprojects/vcxproj_defs.include @@ -56,7 +56,7 @@ ${gen_package_props(packages)}\ % for prop in additional_props: - + % endfor diff --git a/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj b/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj index 501b0d9b1ab..2adb4a5367e 100644 --- a/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj +++ b/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj @@ -46,7 +46,7 @@ - + From e937cd3becf5728780f4705ab760d7d18e855a06 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 20 Apr 2015 17:03:53 -0700 Subject: [PATCH 3/4] .nupkg files to gitignore --- src/csharp/Grpc.Core/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/csharp/Grpc.Core/.gitignore b/src/csharp/Grpc.Core/.gitignore index 8d4a6c08a83..c2dd6641675 100644 --- a/src/csharp/Grpc.Core/.gitignore +++ b/src/csharp/Grpc.Core/.gitignore @@ -1,2 +1,3 @@ bin -obj \ No newline at end of file +obj +*.nupkg From c6d5f106aa3509c77609ee536522181fe95d4f78 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 20 Apr 2015 17:56:15 -0700 Subject: [PATCH 4/4] enabling creation of nuget package for grpc_csharp_ext --- src/csharp/Grpc.Core/Grpc.Core.nuspec | 4 +- vsprojects/nuget_package/.gitignore | 3 ++ vsprojects/nuget_package/README.md | 20 ++++++++ vsprojects/nuget_package/buildall.bat | 46 +++++++++++++++++++ .../grpc.native.csharp_ext.nuspec | 30 ++++++++++++ .../grpc.native.csharp_ext.props | 12 +++++ .../grpc.native.csharp_ext.targets | 14 ++++++ 7 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 vsprojects/nuget_package/.gitignore create mode 100644 vsprojects/nuget_package/README.md create mode 100644 vsprojects/nuget_package/buildall.bat create mode 100644 vsprojects/nuget_package/grpc.native.csharp_ext.nuspec create mode 100644 vsprojects/nuget_package/grpc.native.csharp_ext.props create mode 100644 vsprojects/nuget_package/grpc.native.csharp_ext.targets diff --git a/src/csharp/Grpc.Core/Grpc.Core.nuspec b/src/csharp/Grpc.Core/Grpc.Core.nuspec index 6a40277e0f2..4865ead555e 100644 --- a/src/csharp/Grpc.Core/Grpc.Core.nuspec +++ b/src/csharp/Grpc.Core/Grpc.Core.nuspec @@ -18,9 +18,7 @@ gRPC RPC Protocol HTTP/2 - - - + diff --git a/vsprojects/nuget_package/.gitignore b/vsprojects/nuget_package/.gitignore new file mode 100644 index 00000000000..ae830da1b21 --- /dev/null +++ b/vsprojects/nuget_package/.gitignore @@ -0,0 +1,3 @@ +/tmp +/output +*.nupkg diff --git a/vsprojects/nuget_package/README.md b/vsprojects/nuget_package/README.md new file mode 100644 index 00000000000..80d84ce8c8c --- /dev/null +++ b/vsprojects/nuget_package/README.md @@ -0,0 +1,20 @@ +gRPC Native Nuget package +========================= + +Prerequisites +------------- +Multiple versions of VS installed to be able to build all the targets: +* Visual Studio 2013 +* Visual Studio 2010 (you might need SP1 to prevent LNK1123 error) + +NuGet binary + +Building the package +-------------------- + +Build all flavors of gRPC C# extension and package them as a NuGet package. +``` +buildall.bat + +nuget pack grpc.native.csharp_ext +``` \ No newline at end of file diff --git a/vsprojects/nuget_package/buildall.bat b/vsprojects/nuget_package/buildall.bat new file mode 100644 index 00000000000..837eef0f6ad --- /dev/null +++ b/vsprojects/nuget_package/buildall.bat @@ -0,0 +1,46 @@ +@echo off +setlocal + +REM setlocal +REM call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64 +REM call :build x64 Release v120 || goto :eof +REM call :build x64 Debug v120 || goto :eof +REM endlocal + +setlocal +call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 +call :build Win32 Release v120 || goto :eof +call :build Win32 Debug v120 || goto :eof +endlocal + +REM setlocal +REM call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64 +REM call :build x64 Release v110 || goto :eof +REM call :build x64 Debug v110 || goto :eof +REM endlocal + +REM setlocal +REM call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 +REM call :build Win32 Release v110 || goto :eof +REM call :build Win32 Debug v110 || goto :eof +REM endlocal + +REM setlocal +REM call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64 +REM call :build x64 Release v100 || goto :eof +REM call :build x64 Debug v100 || goto :eof +REM endlocal + +setlocal +call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 +call :build Win32 Release v100 || goto :eof +call :build Win32 Debug v100 || goto :eof +endlocal + +goto :eof + +:build +msbuild /t:grpc_csharp_ext /P:Platform=%1 /P:Configuration=%2 /P:PlatformToolset=%3 /P:OutDir=..\nuget_package\output\%3\%1\%2\ /P:IntDir=..\nuget_package\tmp\%3\%1\%2\ ..\grpc.sln || goto :eof +goto :eof + + diff --git a/vsprojects/nuget_package/grpc.native.csharp_ext.nuspec b/vsprojects/nuget_package/grpc.native.csharp_ext.nuspec new file mode 100644 index 00000000000..d225b771907 --- /dev/null +++ b/vsprojects/nuget_package/grpc.native.csharp_ext.nuspec @@ -0,0 +1,30 @@ + + + + grpc.native.csharp_ext + 0.6.0.0 + Google Inc. + Jan Tattermusch + https://github.com/grpc/grpc/blob/master/LICENSE + http://github.com/grpc/grpc + false + Native extension needed by gRPC C# library. This is not the package you are looking for, it is only meant to be used as a dependency. + Release of gRPC C core 0.6.0 libraries. + Copyright 2015 + gRPC C# Native Extension + Native library required by gRPC C# + gRPC native + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vsprojects/nuget_package/grpc.native.csharp_ext.props b/vsprojects/nuget_package/grpc.native.csharp_ext.props new file mode 100644 index 00000000000..63d23be3dad --- /dev/null +++ b/vsprojects/nuget_package/grpc.native.csharp_ext.props @@ -0,0 +1,12 @@ + + + + + true + + + v120 + Win32 + Debug + + \ No newline at end of file diff --git a/vsprojects/nuget_package/grpc.native.csharp_ext.targets b/vsprojects/nuget_package/grpc.native.csharp_ext.targets new file mode 100644 index 00000000000..1b69362d432 --- /dev/null +++ b/vsprojects/nuget_package/grpc.native.csharp_ext.targets @@ -0,0 +1,14 @@ + + + + + + + + PreserveNewest + + + + + + \ No newline at end of file