Merge pull request #17972 from jtattermusch/csharp_versioning_dev_nugets

C# "-dev" nugets should have a timestamped suffix.
pull/17715/head
Jan Tattermusch 6 years ago committed by GitHub
commit fd9005b4c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      src/csharp/Grpc.Core.NativeDebug.nuspec
  2. 2
      src/csharp/Grpc.Core.NativeDebug/.gitignore
  3. 40
      src/csharp/Grpc.Core.NativeDebug/Grpc.Core.NativeDebug.csproj
  4. 2
      src/csharp/Grpc.Tools/Grpc.Tools.csproj
  5. 22
      src/csharp/Grpc.nuspec
  6. 2
      src/csharp/Grpc/.gitignore
  7. 25
      src/csharp/Grpc/Grpc.csproj
  8. 14
      src/csharp/build_packages_dotnetcli.bat
  9. 25
      src/csharp/expand_dev_version.sh
  10. 61
      templates/src/csharp/build_packages_dotnetcli.bat.template

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>Grpc.Core.NativeDebug</id>
<title>Grpc.Core: Native Debug Symbols</title>
<summary>Debug symbols for the native library contained in Grpc.Core</summary>
<description>Currently contains grpc_csharp_ext.pdb</description>
<version>$version$</version>
<authors>Google Inc.</authors>
<owners>grpc-packages</owners>
<licenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</licenseUrl>
<projectUrl>https://github.com/grpc/grpc</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes>Release $version$</releaseNotes>
<copyright>Copyright 2015, Google Inc.</copyright>
<tags>gRPC RPC Protocol HTTP/2</tags>
</metadata>
<files>
<!-- forward slashes in src path enable building on Linux -->
<file src="nativelibs/csharp_ext_windows_x86/grpc_csharp_ext.dll" target="runtimes/win/native/grpc_csharp_ext.x86.dll" />
<file src="nativelibs/csharp_ext_windows_x86/grpc_csharp_ext.pdb" target="runtimes/win/native/grpc_csharp_ext.x86.pdb" />
<file src="nativelibs/csharp_ext_windows_x64/grpc_csharp_ext.dll" target="runtimes/win/native/grpc_csharp_ext.x64.dll" />
<file src="nativelibs/csharp_ext_windows_x64/grpc_csharp_ext.pdb" target="runtimes/win/native/grpc_csharp_ext.x64.pdb" />
</files>
</package>

@ -0,0 +1,40 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\Grpc.Core\Version.csproj.include" />
<Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup>
<Copyright>Copyright 2015, Google Inc.</Copyright>
<Title>Grpc.Core: Native Debug Symbols</Title>
<Description>Debug symbols for the native library contained in Grpc.Core</Description>
<VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix>
<Authors>Google Inc.</Authors>
<TargetFrameworks>net45;netstandard1.5</TargetFrameworks>
<PackageId>Grpc.Core.NativeDebug</PackageId>
<PackageTags>gRPC RPC Protocol HTTP/2</PackageTags>
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
<!-- This package only carries native debug symbols -->
<IncludeBuildOutput>false</IncludeBuildOutput>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
<ItemGroup>
<None Include="..\nativelibs\csharp_ext_windows_x86\grpc_csharp_ext.dll">
<PackagePath>runtimes/win/native/grpc_csharp_ext.x86.dll</PackagePath>
<Pack>true</Pack>
</None>
<None Include="..\nativelibs\csharp_ext_windows_x86\grpc_csharp_ext.pdb">
<PackagePath>runtimes/win/native/grpc_csharp_ext.x86.pdb</PackagePath>
<Pack>true</Pack>
</None>
<None Include="..\nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll">
<PackagePath>runtimes/win/native/grpc_csharp_ext.x64.dll</PackagePath>
<Pack>true</Pack>
</None>
<None Include="..\nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.pdb">
<PackagePath>runtimes/win/native/grpc_csharp_ext.x64.pdb</PackagePath>
<Pack>true</Pack>
</None>
</ItemGroup>
</Project>

@ -4,7 +4,7 @@
<PropertyGroup>
<AssemblyName>Protobuf.MSBuild</AssemblyName>
<Version>$(GrpcCsharpVersion)</Version>
<VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix>
<!-- If changing targets, change also paths in Google.Protobuf.Tools.targets. -->
<TargetFrameworks>net45;netstandard1.3</TargetFrameworks>
</PropertyGroup>

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>Grpc</id>
<title>gRPC C#</title>
<summary>C# implementation of gRPC - an RPC library and framework</summary>
<description>C# implementation of gRPC - an RPC library and framework. See project site for more info.</description>
<version>$version$</version>
<authors>Google Inc.</authors>
<owners>grpc-packages</owners>
<licenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</licenseUrl>
<projectUrl>https://github.com/grpc/grpc</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes>Release $version$ of gRPC C#</releaseNotes>
<copyright>Copyright 2015, Google Inc.</copyright>
<tags>gRPC RPC Protocol HTTP/2</tags>
<dependencies>
<dependency id="Grpc.Core" version="$version$" />
</dependencies>
</metadata>
<files/>
</package>

@ -0,0 +1,2 @@
bin
obj

@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\Grpc.Core\Version.csproj.include" />
<Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup>
<Copyright>Copyright 2015, Google Inc.</Copyright>
<Title>gRPC C#</Title>
<Description>C# implementation of gRPC - an RPC library and framework.</Description>
<VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix>
<Authors>Google Inc.</Authors>
<TargetFrameworks>net45;netstandard1.5</TargetFrameworks>
<PackageId>Grpc</PackageId>
<PackageTags>gRPC RPC Protocol HTTP/2</PackageTags>
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
<!-- This is only a metapackage -->
<IncludeBuildOutput>false</IncludeBuildOutput>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../Grpc.Core/Grpc.Core.csproj" />
</ItemGroup>
</Project>

@ -12,11 +12,6 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem Current package versions
set VERSION=1.19.0-dev
@rem Adjust the location of nuget.exe
set NUGET=C:\nuget\nuget.exe
set DOTNET=dotnet
mkdir ..\..\artifacts
@ -29,6 +24,9 @@ powershell -Command "cp -r ..\..\input_artifacts\csharp_ext_* nativelibs"
mkdir protoc_plugins
powershell -Command "cp -r ..\..\input_artifacts\protoc_* protoc_plugins"
@rem Add current timestamp to dev nugets
expand_dev_version.sh
%DOTNET% restore Grpc.sln || goto :error
@rem To be able to build, we also need to put grpc_csharp_ext to its normal location
@ -41,9 +39,9 @@ xcopy /Y /I nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll ..\..\cmake\bu
%DOTNET% pack --configuration Release Grpc.HealthCheck --output ..\..\..\artifacts || goto :error
%DOTNET% pack --configuration Release Grpc.Reflection --output ..\..\..\artifacts || goto :error
%DOTNET% pack --configuration Release Grpc.Tools --output ..\..\..\artifacts || goto :error
%NUGET% pack Grpc.nuspec -Version %VERSION% -OutputDirectory ..\..\artifacts || goto :error
%NUGET% pack Grpc.Core.NativeDebug.nuspec -Version %VERSION% -OutputDirectory ..\..\artifacts
@rem build auxiliary packages
%DOTNET% pack --configuration Release Grpc --output ..\..\..\artifacts || goto :error
%DOTNET% pack --configuration Release Grpc.Core.NativeDebug --output ..\..\..\artifacts || goto :error
@rem copy resulting nuget packages to artifacts directory
xcopy /Y /I *.nupkg ..\..\artifacts\ || goto :error

@ -0,0 +1,25 @@
#!/bin/bash
# Copyright 2019 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Updates the GrpcSharpVersion property so that we can build
# dev nuget packages differentiated by timestamp.
set -e
cd "$(dirname "$0")"
DEV_DATETIME_SUFFIX=$(date -u "+%Y%m%d%H%M")
# expand the -dev suffix to contain current timestamp
sed -ibak "s/-dev<\/GrpcCsharpVersion>/-dev${DEV_DATETIME_SUFFIX}<\/GrpcCsharpVersion>/" Grpc.Core/Version.csproj.include

@ -1,61 +0,0 @@
%YAML 1.2
--- |
@rem Copyright 2016 gRPC authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem http://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem Current package versions
set VERSION=${settings.csharp_version}
@rem Adjust the location of nuget.exe
set NUGET=C:\nuget\nuget.exe
set DOTNET=dotnet
mkdir ..\..\artifacts
@rem Collect the artifacts built by the previous build step
mkdir nativelibs
powershell -Command "cp -r ..\..\input_artifacts\csharp_ext_* nativelibs"
@rem Collect protoc artifacts built by the previous build step
mkdir protoc_plugins
powershell -Command "cp -r ..\..\input_artifacts\protoc_* protoc_plugins"
%%DOTNET% restore Grpc.sln || goto :error
@rem To be able to build, we also need to put grpc_csharp_ext to its normal location
xcopy /Y /I nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll ..\..\cmake\build\x64\Release${"\\"}
%%DOTNET% pack --configuration Release Grpc.Core.Api --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.Core --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.Core.Testing --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.Auth --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.HealthCheck --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.Reflection --output ..\..\..\artifacts || goto :error
%%DOTNET% pack --configuration Release Grpc.Tools --output ..\..\..\artifacts || goto :error
%%NUGET% pack Grpc.nuspec -Version %VERSION% -OutputDirectory ..\..\artifacts || goto :error
%%NUGET% pack Grpc.Core.NativeDebug.nuspec -Version %VERSION% -OutputDirectory ..\..\artifacts
@rem copy resulting nuget packages to artifacts directory
xcopy /Y /I *.nupkg ..\..\artifacts\ || goto :error
@rem create a zipfile with the artifacts as well
powershell -Command "Add-Type -Assembly 'System.IO.Compression.FileSystem'; [System.IO.Compression.ZipFile]::CreateFromDirectory('..\..\artifacts', 'csharp_nugets_windows_dotnetcli.zip');"
xcopy /Y /I csharp_nugets_windows_dotnetcli.zip ..\..\artifacts\ || goto :error
goto :EOF
:error
echo Failed!
exit /b %errorlevel%
Loading…
Cancel
Save