From f923a2dd8695f476c2139bb269a1c06c78e74070 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 22 Jan 2016 14:33:53 -0800 Subject: get C# version generated by templates --- .../src/csharp/Grpc.Core/VersionInfo.cs.template | 48 ++++++++++++++++++ templates/src/csharp/build_packages.bat.template | 58 ++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 templates/src/csharp/Grpc.Core/VersionInfo.cs.template create mode 100644 templates/src/csharp/build_packages.bat.template (limited to 'templates/src/csharp') diff --git a/templates/src/csharp/Grpc.Core/VersionInfo.cs.template b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template new file mode 100644 index 0000000000..00a14e7b89 --- /dev/null +++ b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template @@ -0,0 +1,48 @@ +%YAML 1.2 +--- | + #region Copyright notice and license + + // 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. + + #endregion + + namespace Grpc.Core + { + /// + /// Provides info about current version of gRPC. + /// + public static class VersionInfo + { + /// + /// Current version of gRPC C# + /// + public const string CurrentVersion = "${settings.version.major}.${settings.version.minor}.${settings.version.micro}"; + } + } diff --git a/templates/src/csharp/build_packages.bat.template b/templates/src/csharp/build_packages.bat.template new file mode 100644 index 0000000000..bf831a9e3b --- /dev/null +++ b/templates/src/csharp/build_packages.bat.template @@ -0,0 +1,58 @@ +%YAML 1.2 +--- | + @rem Builds gRPC NuGet packages + + @rem Current package versions + set VERSION=${settings.version.major}.${settings.version.minor}.${settings.version.micro} + set PROTOBUF_VERSION=3.0.0-beta2 + + @rem Packages that depend on prerelease packages (like Google.Protobuf) need to have prerelease suffix as well. + set VERSION_WITH_BETA=%VERSION%-beta + + @rem Adjust the location of nuget.exe + set NUGET=C:\nuget\nuget.exe + + @rem Collect the artifacts built by the previous build step if running on Jenkins + @rem TODO(jtattermusch): is there a better way to do this? + xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=windows\artifacts\* grpc.native.csharp\windows_x86${"\\"} + xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=windows\artifacts\* grpc.native.csharp\windows_x64${"\\"} + xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=linux\artifacts\* grpc.native.csharp\linux_x86${"\\"} + xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=linux\artifacts\* grpc.native.csharp\linux_x64${"\\"} + xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=macos\artifacts\* grpc.native.csharp\macosx_x86${"\\"} + xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=macos\artifacts\* grpc.native.csharp\macosx_x64${"\\"} + + @rem Fetch all dependencies + %%NUGET% restore ..\..\vsprojects\grpc_csharp_ext.sln || goto :error + %%NUGET% restore Grpc.sln || goto :error + + setlocal + + @call "%VS120COMNTOOLS%\..\..\vc\vcvarsall.bat" x86 + + @rem We won't use the native libraries from this step, but without this Grpc.sln will fail. + msbuild ..\..\vsprojects\grpc_csharp_ext.sln /p:Configuration=Release /p:PlatformToolset=v120 || goto :error + + msbuild Grpc.sln /p:Configuration=ReleaseSigned || goto :error + + endlocal + + @rem TODO(jtattermusch): re-enable protoc plugin building + @rem @call ..\..\vsprojects\build_plugins.bat || goto :error + + %%NUGET% pack grpc.native.csharp\grpc.native.csharp.nuspec -Version %VERSION% || goto :error + %%NUGET% pack Grpc.Auth\Grpc.Auth.nuspec -Symbols -Version %VERSION% || goto :error + %%NUGET% pack Grpc.Core\Grpc.Core.nuspec -Symbols -Version %VERSION% || goto :error + %%NUGET% pack Grpc.HealthCheck\Grpc.HealthCheck.nuspec -Symbols -Version %VERSION_WITH_BETA% -Properties ProtobufVersion=%PROTOBUF_VERSION% || goto :error + %%NUGET% pack Grpc.nuspec -Version %VERSION% || goto :error + + @rem TODO(jtattermusch): re-enable building Grpc.Tools package + @rem %NUGET% pack Grpc.Tools.nuspec -Version %VERSION% || goto :error + + @rem copy resulting nuget packages to artifacts directory + xcopy /Y /I *.nupkg ..\..\artifacts${"\\"} + + goto :EOF + + :error + echo Failed! + exit /b %errorlevel% -- cgit v1.2.3