Merge pull request #17778 from jtattermusch/csharp_api_split

Move public types needed for server implementation to Grpc.Core.Api
pull/17890/head
Jan Tattermusch 6 years ago committed by GitHub
commit 906c12568e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/csharp/Grpc.Core.Api/.gitignore
  2. 1
      src/csharp/Grpc.Core.Api/AuthContext.cs
  3. 5
      src/csharp/Grpc.Core.Api/AuthProperty.cs
  4. 0
      src/csharp/Grpc.Core.Api/ContextPropagationOptions.cs
  5. 0
      src/csharp/Grpc.Core.Api/ContextPropagationToken.cs
  6. 0
      src/csharp/Grpc.Core.Api/DeserializationContext.cs
  7. 32
      src/csharp/Grpc.Core.Api/Grpc.Core.Api.csproj
  8. 0
      src/csharp/Grpc.Core.Api/IAsyncStreamReader.cs
  9. 0
      src/csharp/Grpc.Core.Api/IAsyncStreamWriter.cs
  10. 0
      src/csharp/Grpc.Core.Api/IServerStreamWriter.cs
  11. 0
      src/csharp/Grpc.Core.Api/Logging/ILogger.cs
  12. 0
      src/csharp/Grpc.Core.Api/Logging/LogLevel.cs
  13. 0
      src/csharp/Grpc.Core.Api/Marshaller.cs
  14. 18
      src/csharp/Grpc.Core.Api/Metadata.cs
  15. 0
      src/csharp/Grpc.Core.Api/Method.cs
  16. 63
      src/csharp/Grpc.Core.Api/Properties/AssemblyInfo.cs
  17. 0
      src/csharp/Grpc.Core.Api/RpcException.cs
  18. 0
      src/csharp/Grpc.Core.Api/SerializationContext.cs
  19. 0
      src/csharp/Grpc.Core.Api/ServerCallContext.cs
  20. 0
      src/csharp/Grpc.Core.Api/ServerMethods.cs
  21. 4
      src/csharp/Grpc.Core.Api/Status.cs
  22. 0
      src/csharp/Grpc.Core.Api/StatusCode.cs
  23. 0
      src/csharp/Grpc.Core.Api/Utils/GrpcPreconditions.cs
  24. 2
      src/csharp/Grpc.Core.Api/WriteOptions.cs
  25. 56
      src/csharp/Grpc.Core/ForwardedTypes.cs
  26. 4
      src/csharp/Grpc.Core/Grpc.Core.csproj
  27. 17
      src/csharp/Grpc.Core/Internal/MarshalUtils.cs
  28. 6
      src/csharp/Grpc.sln
  29. 1
      src/csharp/build_packages_dotnetcli.bat
  30. 3
      src/csharp/build_unitypackage.bat
  31. 10
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api.meta
  32. 10
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api/lib.meta
  33. 10
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api/lib/net45.meta
  34. 32
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api/lib/net45/Grpc.Core.Api.dll.meta
  35. 9
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api/lib/net45/Grpc.Core.Api.pdb.meta
  36. 9
      src/csharp/unitypackage/unitypackage_skeleton/Plugins/Grpc.Core.Api/lib/net45/Grpc.Core.Api.xml.meta
  37. 1
      templates/src/csharp/build_packages_dotnetcli.bat.template
  38. 3
      templates/src/csharp/build_unitypackage.bat.template
  39. 3
      test/distrib/csharp/DistribTest/DistribTest.csproj
  40. 1
      test/distrib/csharp/DistribTest/packages.config

@ -19,7 +19,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Grpc.Core.Internal;
using Grpc.Core.Utils;
namespace Grpc.Core

@ -19,7 +19,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Grpc.Core.Internal;
using System.Text;
using Grpc.Core.Utils;
namespace Grpc.Core
@ -30,6 +30,7 @@ namespace Grpc.Core
/// </summary>
public class AuthProperty
{
static readonly Encoding EncodingUTF8 = System.Text.Encoding.UTF8;
string name;
byte[] valueBytes;
Lazy<string> value;
@ -38,7 +39,7 @@ namespace Grpc.Core
{
this.name = GrpcPreconditions.CheckNotNull(name);
this.valueBytes = GrpcPreconditions.CheckNotNull(valueBytes);
this.value = new Lazy<string>(() => MarshalUtils.GetStringUTF8(this.valueBytes));
this.value = new Lazy<string>(() => EncodingUTF8.GetString(this.valueBytes));
}
/// <summary>

@ -0,0 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\Grpc.Core\Version.csproj.include" />
<Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup>
<Copyright>Copyright 2019, Google Inc.</Copyright>
<AssemblyTitle>gRPC C# Surface API</AssemblyTitle>
<VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix>
<Authors>Google Inc.</Authors>
<TargetFrameworks>net45;netstandard1.5</TargetFrameworks>
<AssemblyName>Grpc.Core.Api</AssemblyName>
<PackageId>Grpc.Core.Api</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>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<Import Project="..\Grpc.Core\SourceLink.csproj.include" />
<ItemGroup>
<PackageReference Include="System.Interactive.Async" Version="3.1.1" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
</Project>

@ -20,7 +20,6 @@ using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using Grpc.Core.Internal;
using Grpc.Core.Utils;
namespace Grpc.Core
@ -52,6 +51,7 @@ namespace Grpc.Core
/// feature and is not part of public API.
/// </summary>
internal const string CompressionRequestAlgorithmMetadataKey = "grpc-internal-encoding-request";
static readonly Encoding EncodingASCII = System.Text.Encoding.ASCII;
readonly List<Entry> entries;
bool readOnly;
@ -286,7 +286,7 @@ namespace Grpc.Core
{
if (valueBytes == null)
{
return MarshalUtils.GetBytesASCII(value);
return EncodingASCII.GetBytes(value);
}
// defensive copy to guarantee immutability
@ -304,7 +304,7 @@ namespace Grpc.Core
get
{
GrpcPreconditions.CheckState(!IsBinary, "Cannot access string value of a binary metadata entry");
return value ?? MarshalUtils.GetStringASCII(valueBytes);
return value ?? EncodingASCII.GetString(valueBytes);
}
}
@ -328,7 +328,7 @@ namespace Grpc.Core
{
return string.Format("[Entry: key={0}, valueBytes={1}]", key, valueBytes);
}
return string.Format("[Entry: key={0}, value={1}]", key, value);
}
@ -338,7 +338,7 @@ namespace Grpc.Core
/// </summary>
internal byte[] GetSerializedValueUnsafe()
{
return valueBytes ?? MarshalUtils.GetBytesASCII(value);
return valueBytes ?? EncodingASCII.GetBytes(value);
}
/// <summary>
@ -351,21 +351,21 @@ namespace Grpc.Core
{
return new Entry(key, null, valueBytes);
}
return new Entry(key, MarshalUtils.GetStringASCII(valueBytes), null);
return new Entry(key, EncodingASCII.GetString(valueBytes), null);
}
private static string NormalizeKey(string key)
{
GrpcPreconditions.CheckNotNull(key, "key");
GrpcPreconditions.CheckArgument(IsValidKey(key, out bool isLowercase),
GrpcPreconditions.CheckArgument(IsValidKey(key, out bool isLowercase),
"Metadata entry key not valid. Keys can only contain lowercase alphanumeric characters, underscores, hyphens and dots.");
if (isLowercase)
{
// save allocation of a new string if already lowercase
return key;
}
return key.ToLowerInvariant();
}
@ -378,7 +378,7 @@ namespace Grpc.Core
if ('a' <= c && c <= 'z' ||
'0' <= c && c <= '9' ||
c == '.' ||
c == '_' ||
c == '_' ||
c == '-' )
continue;

@ -0,0 +1,63 @@
#region Copyright notice and license
// 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.
#endregion
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("Grpc.Core.Api")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Google Inc. All rights reserved.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
#if SIGNED
[assembly: InternalsVisibleTo("Grpc.Core,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001002f5797a92c6fcde81bd4098f43" +
"0442bb8e12768722de0b0cb1b15e955b32a11352740ee59f2c94c48edc8e177d1052536b8ac651bce11ce5da3a" +
"27fc95aff3dc604a6971417453f9483c7b5e836756d5b271bf8f2403fe186e31956148c03d804487cf642f8cc0" +
"71394ee9672dfe5b55ea0f95dfd5a7f77d22c962ccf51320d3")]
[assembly: InternalsVisibleTo("Grpc.Core.Tests,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001002f5797a92c6fcde81bd4098f43" +
"0442bb8e12768722de0b0cb1b15e955b32a11352740ee59f2c94c48edc8e177d1052536b8ac651bce11ce5da3a" +
"27fc95aff3dc604a6971417453f9483c7b5e836756d5b271bf8f2403fe186e31956148c03d804487cf642f8cc0" +
"71394ee9672dfe5b55ea0f95dfd5a7f77d22c962ccf51320d3")]
[assembly: InternalsVisibleTo("Grpc.Core.Testing,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001002f5797a92c6fcde81bd4098f43" +
"0442bb8e12768722de0b0cb1b15e955b32a11352740ee59f2c94c48edc8e177d1052536b8ac651bce11ce5da3a" +
"27fc95aff3dc604a6971417453f9483c7b5e836756d5b271bf8f2403fe186e31956148c03d804487cf642f8cc0" +
"71394ee9672dfe5b55ea0f95dfd5a7f77d22c962ccf51320d3")]
[assembly: InternalsVisibleTo("Grpc.IntegrationTesting,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001002f5797a92c6fcde81bd4098f43" +
"0442bb8e12768722de0b0cb1b15e955b32a11352740ee59f2c94c48edc8e177d1052536b8ac651bce11ce5da3a" +
"27fc95aff3dc604a6971417453f9483c7b5e836756d5b271bf8f2403fe186e31956148c03d804487cf642f8cc0" +
"71394ee9672dfe5b55ea0f95dfd5a7f77d22c962ccf51320d3")]
[assembly: InternalsVisibleTo("Grpc.Microbenchmarks,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001002f5797a92c6fcde81bd4098f43" +
"0442bb8e12768722de0b0cb1b15e955b32a11352740ee59f2c94c48edc8e177d1052536b8ac651bce11ce5da3a" +
"27fc95aff3dc604a6971417453f9483c7b5e836756d5b271bf8f2403fe186e31956148c03d804487cf642f8cc0" +
"71394ee9672dfe5b55ea0f95dfd5a7f77d22c962ccf51320d3")]
#else
[assembly: InternalsVisibleTo("Grpc.Core")]
[assembly: InternalsVisibleTo("Grpc.Core.Tests")]
[assembly: InternalsVisibleTo("Grpc.Core.Testing")]
[assembly: InternalsVisibleTo("Grpc.IntegrationTesting")]
[assembly: InternalsVisibleTo("Grpc.Microbenchmarks")]
#endif

@ -14,12 +14,10 @@
// limitations under the License.
#endregion
using Grpc.Core.Utils;
namespace Grpc.Core
{
/// <summary>
/// Represents RPC result, which consists of <see cref="StatusCode"/> and an optional detail string.
/// Represents RPC result, which consists of <see cref="StatusCode"/> and an optional detail string.
/// </summary>
public struct Status
{

@ -48,7 +48,7 @@ namespace Grpc.Core
/// Default write options.
/// </summary>
public static readonly WriteOptions Default = new WriteOptions();
private readonly WriteFlags flags;
/// <summary>

@ -0,0 +1,56 @@
#region Copyright notice and license
// 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.
#endregion
using System.Runtime.CompilerServices;
using Grpc.Core;
using Grpc.Core.Logging;
using Grpc.Core.Utils;
// API types that used to be in Grpc.Core package, but were moved to Grpc.Core.Api
// https://docs.microsoft.com/en-us/dotnet/framework/app-domains/type-forwarding-in-the-common-language-runtime
// TODO(jtattermusch): move types needed for implementing a client
// TODO(jtattermusch): ServerServiceDefinition depends on IServerCallHandler (which depends on other stuff)
[assembly:TypeForwardedToAttribute(typeof(ILogger))]
[assembly:TypeForwardedToAttribute(typeof(LogLevel))]
[assembly:TypeForwardedToAttribute(typeof(GrpcPreconditions))]
[assembly:TypeForwardedToAttribute(typeof(AuthContext))]
[assembly:TypeForwardedToAttribute(typeof(ContextPropagationOptions))]
[assembly:TypeForwardedToAttribute(typeof(ContextPropagationToken))]
[assembly:TypeForwardedToAttribute(typeof(DeserializationContext))]
[assembly:TypeForwardedToAttribute(typeof(IAsyncStreamReader<>))]
[assembly:TypeForwardedToAttribute(typeof(IAsyncStreamWriter<>))]
[assembly:TypeForwardedToAttribute(typeof(IServerStreamWriter<>))]
[assembly:TypeForwardedToAttribute(typeof(Marshaller<>))]
[assembly:TypeForwardedToAttribute(typeof(Marshallers))]
[assembly:TypeForwardedToAttribute(typeof(Metadata))]
[assembly:TypeForwardedToAttribute(typeof(MethodType))]
[assembly:TypeForwardedToAttribute(typeof(IMethod))]
[assembly:TypeForwardedToAttribute(typeof(Method<,>))]
[assembly:TypeForwardedToAttribute(typeof(RpcException))]
[assembly:TypeForwardedToAttribute(typeof(SerializationContext))]
[assembly:TypeForwardedToAttribute(typeof(ServerCallContext))]
[assembly:TypeForwardedToAttribute(typeof(UnaryServerMethod<,>))]
[assembly:TypeForwardedToAttribute(typeof(ClientStreamingServerMethod<,>))]
[assembly:TypeForwardedToAttribute(typeof(ServerStreamingServerMethod<,>))]
[assembly:TypeForwardedToAttribute(typeof(DuplexStreamingServerMethod<,>))]
[assembly:TypeForwardedToAttribute(typeof(Status))]
[assembly:TypeForwardedToAttribute(typeof(StatusCode))]
[assembly:TypeForwardedToAttribute(typeof(WriteOptions))]
[assembly:TypeForwardedToAttribute(typeof(WriteFlags))]

@ -80,6 +80,10 @@
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Grpc.Core.Api/Grpc.Core.Api.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.Interactive.Async" Version="3.1.1" />
</ItemGroup>

@ -28,7 +28,6 @@ namespace Grpc.Core.Internal
internal static class MarshalUtils
{
static readonly Encoding EncodingUTF8 = System.Text.Encoding.UTF8;
static readonly Encoding EncodingASCII = System.Text.Encoding.ASCII;
/// <summary>
/// Converts <c>IntPtr</c> pointing to a UTF-8 encoded byte array to <c>string</c>.
@ -62,21 +61,5 @@ namespace Grpc.Core.Internal
{
return EncodingUTF8.GetString(bytes);
}
/// <summary>
/// Returns byte array containing ASCII encoding of given string.
/// </summary>
public static byte[] GetBytesASCII(string str)
{
return EncodingASCII.GetBytes(str);
}
/// <summary>
/// Get string from an ASCII encoded byte array.
/// </summary>
public static string GetStringASCII(byte[] bytes)
{
return EncodingASCII.GetString(bytes);
}
}
}

@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Grpc.Core.Api", "Grpc.Core.Api\Grpc.Core.Api.csproj", "{63FCEA50-1505-11E9-B56E-0800200C9A66}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Grpc.Core", "Grpc.Core\Grpc.Core.csproj", "{BD878CB3-BDB4-46AB-84EF-C3B4729F56BC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Grpc.Auth", "Grpc.Auth\Grpc.Auth.csproj", "{2A16007A-5D67-4C53-BEC8-51E5064D18BF}"
@ -49,6 +51,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{63FCEA50-1505-11E9-B56E-0800200C9A66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63FCEA50-1505-11E9-B56E-0800200C9A66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63FCEA50-1505-11E9-B56E-0800200C9A66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63FCEA50-1505-11E9-B56E-0800200C9A66}.Release|Any CPU.Build.0 = Release|Any CPU
{BD878CB3-BDB4-46AB-84EF-C3B4729F56BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD878CB3-BDB4-46AB-84EF-C3B4729F56BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD878CB3-BDB4-46AB-84EF-C3B4729F56BC}.Release|Any CPU.ActiveCfg = Release|Any CPU

@ -34,6 +34,7 @@ powershell -Command "cp -r ..\..\input_artifacts\protoc_* protoc_plugins"
@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

@ -40,6 +40,9 @@ xcopy /Y /I nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll ..\..\cmake\bu
@rem copy Grpc assemblies to the unity package skeleton
@rem TODO(jtattermusch): Add Grpc.Auth assembly and its dependencies
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.dll || goto :error
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.pdb || goto :error
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.xml || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.dll || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.pdb || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.xml || goto :error

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 9b4ba511bab164bf9a5d0db8bb681b05
folderAsset: yes
timeCreated: 1531219385
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 21a3894045fc74e85a09ab84c0e35c3a
folderAsset: yes
timeCreated: 1531219385
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 9fd1c7cd7b6ed4d5285de90a332fb93e
folderAsset: yes
timeCreated: 1531219385
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,32 @@
fileFormatVersion: 2
guid: c9bf7237d50ec4e99ba7d2c153b80e8f
timeCreated: 1531219386
licenseType: Free
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: bf384c9cae7a648c488af0193b3e74c0
timeCreated: 1531219385
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0a4fb8823a783423880c9d8c9d3b5cf4
timeCreated: 1531219386
licenseType: Free
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -36,6 +36,7 @@
@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

@ -42,6 +42,9 @@
@rem copy Grpc assemblies to the unity package skeleton
@rem TODO(jtattermusch): Add Grpc.Auth assembly and its dependencies
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.dll || goto :error
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.pdb || goto :error
copy /Y Grpc.Core.Api\bin\Release\net45\Grpc.Core.Api.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core.Api\lib\net45\Grpc.Core.Api.xml || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.dll || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.pdb || goto :error
copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.xml || goto :error

@ -62,6 +62,9 @@
<Reference Include="Grpc.Core">
<HintPath>..\packages\Grpc.Core.__GRPC_NUGET_VERSION__\lib\net45\Grpc.Core.dll</HintPath>
</Reference>
<Reference Include="Grpc.Core.Api">
<HintPath>..\packages\Grpc.Core.Api.__GRPC_NUGET_VERSION__\lib\net45\Grpc.Core.Api.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Interactive.Async">

@ -6,6 +6,7 @@
<package id="Grpc" version="__GRPC_NUGET_VERSION__" targetFramework="net45" />
<package id="Grpc.Auth" version="__GRPC_NUGET_VERSION__" targetFramework="net45" />
<package id="Grpc.Core" version="__GRPC_NUGET_VERSION__" targetFramework="net45" />
<package id="Grpc.Core.Api" version="__GRPC_NUGET_VERSION__" targetFramework="net45" />
<package id="Grpc.Tools" version="__GRPC_NUGET_VERSION__" targetFramework="net45" />
<package id="System.Interactive.Async" version="3.0.0" targetFramework="net45" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />

Loading…
Cancel
Save