Upmerge from v1.6.x branch to master
This commit is contained in:
commit
b352be025f
8
BUILD
8
BUILD
|
|
@ -574,6 +574,8 @@ grpc_cc_library(
|
|||
"src/core/lib/compression/compression.c",
|
||||
"src/core/lib/compression/message_compress.c",
|
||||
"src/core/lib/compression/stream_compression.c",
|
||||
"src/core/lib/debug/stats.c",
|
||||
"src/core/lib/debug/stats_data.c",
|
||||
"src/core/lib/http/format_request.c",
|
||||
"src/core/lib/http/httpcli.c",
|
||||
"src/core/lib/http/parser.c",
|
||||
|
|
@ -690,8 +692,6 @@ grpc_cc_library(
|
|||
"src/core/lib/transport/timeout_encoding.c",
|
||||
"src/core/lib/transport/transport.c",
|
||||
"src/core/lib/transport/transport_op_string.c",
|
||||
"src/core/lib/debug/stats.c",
|
||||
"src/core/lib/debug/stats_data.c",
|
||||
],
|
||||
hdrs = [
|
||||
"src/core/lib/channel/channel_args.h",
|
||||
|
|
@ -705,6 +705,8 @@ grpc_cc_library(
|
|||
"src/core/lib/compression/algorithm_metadata.h",
|
||||
"src/core/lib/compression/message_compress.h",
|
||||
"src/core/lib/compression/stream_compression.h",
|
||||
"src/core/lib/debug/stats.h",
|
||||
"src/core/lib/debug/stats_data.h",
|
||||
"src/core/lib/http/format_request.h",
|
||||
"src/core/lib/http/httpcli.h",
|
||||
"src/core/lib/http/parser.h",
|
||||
|
|
@ -807,8 +809,6 @@ grpc_cc_library(
|
|||
"src/core/lib/transport/timeout_encoding.h",
|
||||
"src/core/lib/transport/transport.h",
|
||||
"src/core/lib/transport/transport_impl.h",
|
||||
"src/core/lib/debug/stats.h",
|
||||
"src/core/lib/debug/stats_data.h",
|
||||
],
|
||||
external_deps = [
|
||||
"zlib",
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
LIBS="-lpthread $LIBS"
|
||||
|
||||
CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11"
|
||||
CXXFLAGS="-std=c++11"
|
||||
CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti"
|
||||
GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD"
|
||||
PHP_REQUIRE_CXX()
|
||||
PHP_ADD_LIBRARY(pthread)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<email>grpc-packages@google.com</email>
|
||||
<active>yes</active>
|
||||
</lead>
|
||||
<date>2017-05-22</date>
|
||||
<date>2017-08-24</date>
|
||||
<time>16:06:07</time>
|
||||
<version>
|
||||
<release>1.7.0dev</release>
|
||||
|
|
@ -25,6 +25,9 @@
|
|||
- Channel are now by default persistent #11878
|
||||
- Some bug fixes from 1.4 branch #12109, #12123
|
||||
- Fixed hang bug when fork() was used #11814
|
||||
- License changed to Apache 2.0
|
||||
- Added support for php_namespace option in codegen plugin #11886
|
||||
- Updated gRPC C Core library version 1.6
|
||||
</notes>
|
||||
<contents>
|
||||
<dir baseinstalldir="/" name="/">
|
||||
|
|
|
|||
2
setup.py
2
setup.py
|
|
@ -70,7 +70,7 @@ CLASSIFIERS = [
|
|||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
],
|
||||
]
|
||||
|
||||
# Environment variable to determine whether or not the Cython extension should
|
||||
# *use* Cython or use the generated C files. Note that this requires the C files
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
<PackageTags>gRPC RPC Protocol HTTP/2 Auth OAuth2</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
|
||||
<NetStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard1.5' ">1.6.0</NetStandardImplicitPackageVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<IncludeSource>true</IncludeSource>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
<PackageTags>gRPC test testing</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
|
||||
<NetStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard1.5' ">1.6.0</NetStandardImplicitPackageVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<IncludeSource>true</IncludeSource>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.Core.Tests</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Core.Tests</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
@ -21,7 +19,6 @@
|
|||
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
|
||||
<PackageReference Include="NUnit" Version="3.6.0" />
|
||||
<PackageReference Include="NUnitLite" Version="3.6.0" />
|
||||
<PackageReference Include="NUnit.ConsoleRunner" Version="3.6.0" />
|
||||
<PackageReference Include="OpenCover" Version="4.6.519" />
|
||||
<PackageReference Include="ReportGenerator" Version="2.4.4.0" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
<PackageTags>gRPC RPC Protocol HTTP/2</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
|
||||
<NetStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard1.5' ">1.6.0</NetStandardImplicitPackageVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<IncludeSource>true</IncludeSource>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
|
@ -65,7 +64,7 @@
|
|||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.5' ">
|
||||
<PackageReference Include="System.Runtime.Loader" Version="4.0.0" />
|
||||
<PackageReference Include="System.Threading.Thread" Version="4.0.0" />
|
||||
<PackageReference Include="System.Threading.ThreadPool" Version="4.0.0" />
|
||||
<PackageReference Include="System.Threading.ThreadPool" Version="4.0.10" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="NativeDeps.csproj.include" />
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<AssemblyName>Grpc.Examples.MathClient</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Examples.MathClient</PackageId>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<AssemblyName>Grpc.Examples.MathServer</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Examples.MathServer</PackageId>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.Examples.Tests</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Examples.Tests</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks>
|
||||
<AssemblyName>Grpc.Examples</AssemblyName>
|
||||
<PackageId>Grpc.Examples</PackageId>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.HealthCheck.Tests</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.HealthCheck.Tests</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
<PackageTags>gRPC health check</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
|
||||
<NetStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard1.5' ">1.6.0</NetStandardImplicitPackageVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<IncludeSource>true</IncludeSource>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.IntegrationTesting.Client</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.IntegrationTesting.Client</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@
|
|||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.IntegrationTesting.QpsWorker</PackageId>
|
||||
<ServerGarbageCollection>true</ServerGarbageCollection>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.IntegrationTesting.Server</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.IntegrationTesting.Server</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.IntegrationTesting.StressClient</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.IntegrationTesting.StressClient</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.IntegrationTesting</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.IntegrationTesting</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
@ -31,10 +29,6 @@
|
|||
<Reference Include="Microsoft.CSharp" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
|
||||
<PackageReference Include="System.Linq.Expressions" Version="4.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\Grpc.Core\Version.cs" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.Microbenchmarks</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Microbenchmarks</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<AssemblyName>Grpc.Reflection.Tests</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageId>Grpc.Reflection.Tests</PackageId>
|
||||
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);portable-net45</PackageTargetFallback>
|
||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">1.0.4</RuntimeFrameworkVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
<PackageTags>gRPC reflection</PackageTags>
|
||||
<PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl>
|
||||
<PackageLicenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</PackageLicenseUrl>
|
||||
<NetStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard1.5' ">1.6.0</NetStandardImplicitPackageVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<IncludeSource>true</IncludeSource>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
html
|
||||
obj
|
||||
|
|
@ -1,2 +1,9 @@
|
|||
DocFX-generated C# API Reference
|
||||
--------------------------------
|
||||
|
||||
SandCastle project files to generate HTML reference documentation.
|
||||
Install docfx based on instructions here: https://github.com/dotnet/docfx
|
||||
|
||||
```
|
||||
# generate docfx documentation into ./html directory
|
||||
$ docfx
|
||||
```
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"metadata": [
|
||||
{
|
||||
"src": [
|
||||
{
|
||||
"files": ["Grpc.Core/Grpc.Core.csproj",
|
||||
"Grpc.Auth/Grpc.Auth.csproj",
|
||||
"Grpc.Core.Testing/Grpc.Core.Testing.csproj",
|
||||
"Grpc.HealthCheck/Grpc.HealthCheck.csproj",
|
||||
"Grpc.Reflection/Grpc.HealthCheck.csproj"],
|
||||
"exclude": [ "**/bin/**", "**/obj/**" ],
|
||||
"cwd": ".."
|
||||
}
|
||||
],
|
||||
"properties": { "TargetFramework": "net45" },
|
||||
"dest": "obj/api"
|
||||
}
|
||||
],
|
||||
"build": {
|
||||
"content": [
|
||||
{
|
||||
"files": [ "**/*.yml" ],
|
||||
"cwd": "obj/api",
|
||||
"dest": "api"
|
||||
},
|
||||
{
|
||||
"files": [ "toc.yml"],
|
||||
}
|
||||
],
|
||||
"globalMetadata": {
|
||||
"_appTitle": "gRPC C#",
|
||||
"_enableSearch": true,
|
||||
"_disableContribution": true
|
||||
},
|
||||
"dest": "html"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!-- The configuration and platform will be used to determine which assemblies to include from solution and
|
||||
project documentation sources -->
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{77e3da09-fc92-486f-a90a-99ca788e8b59}</ProjectGuid>
|
||||
<SHFBSchemaVersion>2015.6.5.0</SHFBSchemaVersion>
|
||||
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
|
||||
<AssemblyName>Documentation</AssemblyName>
|
||||
<RootNamespace>Documentation</RootNamespace>
|
||||
<Name>Documentation</Name>
|
||||
<!-- SHFB properties -->
|
||||
<FrameworkVersion>.NET Framework 4.5</FrameworkVersion>
|
||||
<OutputPath>..\..\..\doc\ref\csharp\html</OutputPath>
|
||||
<Language>en-US</Language>
|
||||
<DocumentationSources>
|
||||
<DocumentationSource sourceFile="..\Grpc.Auth\Grpc.Auth.csproj" />
|
||||
<DocumentationSource sourceFile="..\Grpc.Core\Grpc.Core.csproj" />
|
||||
<DocumentationSource sourceFile="..\Grpc.HealthCheck\Grpc.HealthCheck.csproj" />
|
||||
<DocumentationSource sourceFile="..\Grpc.Reflection\Grpc.Reflection.csproj" />
|
||||
<DocumentationSource sourceFile="..\Grpc.Core.Testing\Grpc.Core.Testing.csproj" /></DocumentationSources>
|
||||
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
|
||||
<HelpFileFormat>Website</HelpFileFormat>
|
||||
<IndentHtml>False</IndentHtml>
|
||||
<KeepLogFile>True</KeepLogFile>
|
||||
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
|
||||
<CleanIntermediates>True</CleanIntermediates>
|
||||
<HelpFileVersion>1.0.0.0</HelpFileVersion>
|
||||
<MaximumGroupParts>2</MaximumGroupParts>
|
||||
<NamespaceGrouping>False</NamespaceGrouping>
|
||||
<SyntaxFilters>Standard</SyntaxFilters>
|
||||
<SdkLinkTarget>Blank</SdkLinkTarget>
|
||||
<RootNamespaceContainer>True</RootNamespaceContainer>
|
||||
<PresentationStyle>VS2013</PresentationStyle>
|
||||
<Preliminary>False</Preliminary>
|
||||
<NamingMethod>MemberName</NamingMethod>
|
||||
<HelpTitle>gRPC C#</HelpTitle>
|
||||
<ContentPlacement>AboveNamespaces</ContentPlacement>
|
||||
<HtmlHelpName>Documentation</HtmlHelpName>
|
||||
<NamespaceSummaries>
|
||||
<NamespaceSummaryItem name="Grpc.Auth" isDocumented="True">Provides OAuth2 based authentication for gRPC. <c>Grpc.Auth</c> currently consists of a set of very lightweight wrappers and uses C# <a href="https://www.nuget.org/packages/Google.Apis.Auth/">Google.Apis.Auth</a> library.</NamespaceSummaryItem>
|
||||
<NamespaceSummaryItem name="Grpc.Core" isDocumented="True">Main namespace for gRPC C# functionality. Contains concepts representing both client side and server side gRPC logic.
|
||||
|
||||
<seealso cref="Grpc.Core.Channel"/>
|
||||
<seealso cref="Grpc.Core.Server"/></NamespaceSummaryItem>
|
||||
<NamespaceSummaryItem name="Grpc.Core.Logging" isDocumented="True">Provides functionality to redirect gRPC logs to application-specified destination.</NamespaceSummaryItem>
|
||||
<NamespaceSummaryItem name="Grpc.Core.Utils" isDocumented="True">Various utilities for gRPC C#.</NamespaceSummaryItem>
|
||||
</NamespaceSummaries>
|
||||
<MissingTags>Summary, Parameter, AutoDocumentCtors, Namespace, TypeParameter, AutoDocumentDispose</MissingTags>
|
||||
</PropertyGroup>
|
||||
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform
|
||||
the build. The others are optional common platform types that may appear. -->
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
|
||||
</PropertyGroup>
|
||||
<!-- Import the SHFB build targets -->
|
||||
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
|
||||
<!-- The pre-build and post-build event properties must appear *after* the targets file import in order to be
|
||||
evaluated correctly. -->
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
- name: API Documentation
|
||||
href: obj/api/
|
||||
homepage: obj/api/Grpc.Core.yml
|
||||
|
|
@ -41,9 +41,8 @@ cdef class CompletionQueue:
|
|||
cdef object user_tag = None
|
||||
cdef Call operation_call = None
|
||||
cdef CallDetails request_call_details = None
|
||||
cdef Metadata request_metadata = None
|
||||
cdef object request_metadata = None
|
||||
cdef Operations batch_operations = None
|
||||
cdef Operation batch_operation = None
|
||||
if event.type == GRPC_QUEUE_TIMEOUT:
|
||||
return Event(
|
||||
event.type, False, None, None, None, None, False, None)
|
||||
|
|
@ -63,14 +62,8 @@ cdef class CompletionQueue:
|
|||
operation_call = tag.operation_call
|
||||
request_call_details = tag.request_call_details
|
||||
if tag.request_metadata is not None:
|
||||
request_metadata = tag.request_metadata
|
||||
request_metadata._claim_slice_ownership()
|
||||
request_metadata = tuple(tag.request_metadata)
|
||||
batch_operations = tag.batch_operations
|
||||
if tag.batch_operations is not None:
|
||||
for op in batch_operations.operations:
|
||||
batch_operation = <Operation>op
|
||||
if batch_operation._received_metadata is not None:
|
||||
batch_operation._received_metadata._claim_slice_ownership()
|
||||
if tag.is_new_request:
|
||||
# Stuff in the tag not explicitly handled by us needs to live through
|
||||
# the life of the call
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ cdef class CredentialsMetadataPlugin:
|
|||
"""
|
||||
Args:
|
||||
plugin_callback (callable): Callback accepting a service URL (str/bytes)
|
||||
and callback object (accepting a Metadata,
|
||||
and callback object (accepting a MetadataArray,
|
||||
grpc_status_code, and a str/bytes error message). This argument
|
||||
when called should be non-blocking and eventually call the callback
|
||||
object with the appropriate status code/details and metadata (if
|
||||
|
|
@ -129,8 +129,7 @@ cdef void plugin_get_metadata(
|
|||
def python_callback(
|
||||
Metadata metadata, grpc_status_code status,
|
||||
bytes error_details):
|
||||
cb(user_data, metadata.c_metadata_array.metadata,
|
||||
metadata.c_metadata_array.count, status, error_details)
|
||||
cb(user_data, metadata.c_metadata, metadata.c_count, status, error_details)
|
||||
called_flag[0] = True
|
||||
cdef CredentialsMetadataPlugin self = <CredentialsMetadataPlugin>state
|
||||
cdef AuthMetadataContext cy_context = AuthMetadataContext()
|
||||
|
|
@ -139,8 +138,8 @@ cdef void plugin_get_metadata(
|
|||
self.plugin_callback(cy_context, python_callback)
|
||||
except Exception as error:
|
||||
if not called_flag[0]:
|
||||
cb(user_data, Metadata([]).c_metadata_array.metadata,
|
||||
0, StatusCode.unknown, traceback.format_exc().encode())
|
||||
cb(user_data, NULL, 0, StatusCode.unknown,
|
||||
traceback.format_exc().encode())
|
||||
|
||||
cdef void plugin_destroy_c_plugin_state(void *state) with gil:
|
||||
cpython.Py_DECREF(<CredentialsMetadataPlugin>state)
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ cdef extern from "grpc/grpc.h":
|
|||
grpc_slice grpc_slice_malloc(size_t length) nogil
|
||||
grpc_slice grpc_slice_from_copied_string(const char *source) nogil
|
||||
grpc_slice grpc_slice_from_copied_buffer(const char *source, size_t len) nogil
|
||||
grpc_slice grpc_slice_copy(grpc_slice s) nogil
|
||||
|
||||
# Declare functions for function-like macros (because Cython)...
|
||||
void *grpc_slice_start_ptr "GRPC_SLICE_START_PTR" (grpc_slice s) nogil
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ cdef class OperationTag:
|
|||
cdef Server shutting_down_server
|
||||
cdef Call operation_call
|
||||
cdef CallDetails request_call_details
|
||||
cdef Metadata request_metadata
|
||||
cdef MetadataArray request_metadata
|
||||
cdef Operations batch_operations
|
||||
cdef bint is_new_request
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ cdef class Event:
|
|||
# For Server.request_call
|
||||
cdef readonly bint is_new_request
|
||||
cdef readonly CallDetails request_call_details
|
||||
cdef readonly Metadata request_metadata
|
||||
cdef readonly object request_metadata
|
||||
|
||||
# For server calls
|
||||
cdef readonly Call operation_call
|
||||
|
|
@ -92,15 +92,20 @@ cdef class Metadatum:
|
|||
|
||||
cdef class Metadata:
|
||||
|
||||
cdef grpc_metadata *c_metadata
|
||||
cdef readonly size_t c_count
|
||||
|
||||
|
||||
cdef class MetadataArray:
|
||||
|
||||
cdef grpc_metadata_array c_metadata_array
|
||||
cdef void _claim_slice_ownership(self)
|
||||
|
||||
|
||||
cdef class Operation:
|
||||
|
||||
cdef grpc_op c_op
|
||||
cdef ByteBuffer _received_message
|
||||
cdef Metadata _received_metadata
|
||||
cdef MetadataArray _received_metadata
|
||||
cdef grpc_status_code _received_status_code
|
||||
cdef grpc_slice _status_details
|
||||
cdef int _received_cancelled
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ cdef class Event:
|
|||
def __cinit__(self, grpc_completion_type type, bint success,
|
||||
object tag, Call operation_call,
|
||||
CallDetails request_call_details,
|
||||
Metadata request_metadata,
|
||||
object request_metadata,
|
||||
bint is_new_request,
|
||||
Operations batch_operations):
|
||||
self.type = type
|
||||
|
|
@ -437,48 +437,79 @@ cdef class Metadatum:
|
|||
cdef class _MetadataIterator:
|
||||
|
||||
cdef size_t i
|
||||
cdef Metadata metadata
|
||||
cdef size_t _length
|
||||
cdef object _metadatum_indexable
|
||||
|
||||
def __cinit__(self, Metadata metadata not None):
|
||||
def __cinit__(self, length, metadatum_indexable):
|
||||
self._length = length
|
||||
self._metadatum_indexable = metadatum_indexable
|
||||
self.i = 0
|
||||
self.metadata = metadata
|
||||
|
||||
def __iter__(self):
|
||||
return self
|
||||
|
||||
def __next__(self):
|
||||
if self.i < len(self.metadata):
|
||||
result = self.metadata[self.i]
|
||||
if self.i < self._length:
|
||||
result = self._metadatum_indexable[self.i]
|
||||
self.i = self.i + 1
|
||||
return result
|
||||
else:
|
||||
raise StopIteration
|
||||
|
||||
|
||||
# TODO(https://github.com/grpc/grpc/issues/7950): Eliminate this; just use an
|
||||
# ordinary sequence of pairs of bytestrings all the way down to the
|
||||
# grpc_call_start_batch call.
|
||||
cdef class Metadata:
|
||||
"""Metadata being passed from application to core."""
|
||||
|
||||
def __cinit__(self, metadata_iterable):
|
||||
metadata_sequence = tuple(metadata_iterable)
|
||||
cdef size_t count = len(metadata_sequence)
|
||||
with nogil:
|
||||
grpc_init()
|
||||
grpc_metadata_array_init(&self.c_metadata_array)
|
||||
metadata = list(metadata_iterable)
|
||||
for metadatum in metadata:
|
||||
if not isinstance(metadatum, Metadatum):
|
||||
raise TypeError("expected list of Metadatum")
|
||||
self.c_metadata_array.count = len(metadata)
|
||||
self.c_metadata_array.capacity = len(metadata)
|
||||
with nogil:
|
||||
self.c_metadata_array.metadata = <grpc_metadata *>gpr_malloc(
|
||||
self.c_metadata_array.count*sizeof(grpc_metadata)
|
||||
)
|
||||
for i in range(self.c_metadata_array.count):
|
||||
(<Metadatum>metadata[i])._copy_metadatum(&self.c_metadata_array.metadata[i])
|
||||
self.c_metadata = <grpc_metadata *>gpr_malloc(
|
||||
count * sizeof(grpc_metadata))
|
||||
self.c_count = count
|
||||
for index, metadatum in enumerate(metadata_sequence):
|
||||
self.c_metadata[index].key = grpc_slice_copy(
|
||||
(<Metadatum>metadatum).c_metadata.key)
|
||||
self.c_metadata[index].value = grpc_slice_copy(
|
||||
(<Metadatum>metadatum).c_metadata.value)
|
||||
|
||||
def __dealloc__(self):
|
||||
with nogil:
|
||||
for index in range(self.c_count):
|
||||
grpc_slice_unref(self.c_metadata[index].key)
|
||||
grpc_slice_unref(self.c_metadata[index].value)
|
||||
gpr_free(self.c_metadata)
|
||||
grpc_shutdown()
|
||||
|
||||
def __len__(self):
|
||||
return self.c_count
|
||||
|
||||
def __getitem__(self, size_t index):
|
||||
if index < self.c_count:
|
||||
key = _slice_bytes(self.c_metadata[index].key)
|
||||
value = _slice_bytes(self.c_metadata[index].value)
|
||||
return Metadatum(key, value)
|
||||
else:
|
||||
raise IndexError()
|
||||
|
||||
def __iter__(self):
|
||||
return _MetadataIterator(self.c_count, self)
|
||||
|
||||
|
||||
cdef class MetadataArray:
|
||||
"""Metadata being passed from core to application."""
|
||||
|
||||
def __cinit__(self):
|
||||
with nogil:
|
||||
grpc_init()
|
||||
grpc_metadata_array_init(&self.c_metadata_array)
|
||||
|
||||
def __dealloc__(self):
|
||||
with nogil:
|
||||
# this frees the allocated memory for the grpc_metadata_array (although
|
||||
# it'd be nice if that were documented somewhere...)
|
||||
# TODO(atash): document this in the C core
|
||||
grpc_metadata_array_destroy(&self.c_metadata_array)
|
||||
grpc_shutdown()
|
||||
|
||||
|
|
@ -493,21 +524,7 @@ cdef class Metadata:
|
|||
return Metadatum(key=key, value=value)
|
||||
|
||||
def __iter__(self):
|
||||
return _MetadataIterator(self)
|
||||
|
||||
cdef void _claim_slice_ownership(self):
|
||||
cdef grpc_metadata_array new_c_metadata_array
|
||||
grpc_metadata_array_init(&new_c_metadata_array)
|
||||
new_c_metadata_array.metadata = <grpc_metadata *>gpr_malloc(
|
||||
self.c_metadata_array.count*sizeof(grpc_metadata))
|
||||
new_c_metadata_array.count = self.c_metadata_array.count
|
||||
for i in range(self.c_metadata_array.count):
|
||||
new_c_metadata_array.metadata[i].key = _copy_slice(
|
||||
self.c_metadata_array.metadata[i].key)
|
||||
new_c_metadata_array.metadata[i].value = _copy_slice(
|
||||
self.c_metadata_array.metadata[i].value)
|
||||
grpc_metadata_array_destroy(&self.c_metadata_array)
|
||||
self.c_metadata_array = new_c_metadata_array
|
||||
return _MetadataIterator(self.c_metadata_array.count, self)
|
||||
|
||||
|
||||
cdef class Operation:
|
||||
|
|
@ -547,14 +564,13 @@ cdef class Operation:
|
|||
if (self.c_op.type != GRPC_OP_RECV_INITIAL_METADATA and
|
||||
self.c_op.type != GRPC_OP_RECV_STATUS_ON_CLIENT):
|
||||
raise TypeError("self must be an operation receiving metadata")
|
||||
return self._received_metadata
|
||||
|
||||
@property
|
||||
def received_metadata_or_none(self):
|
||||
if (self.c_op.type != GRPC_OP_RECV_INITIAL_METADATA and
|
||||
self.c_op.type != GRPC_OP_RECV_STATUS_ON_CLIENT):
|
||||
return None
|
||||
return self._received_metadata
|
||||
# TODO(https://github.com/grpc/grpc/issues/7950): Drop the "all Cython
|
||||
# objects must be legitimate for use from Python at any time" policy in
|
||||
# place today, shift the policy toward "Operation objects are only usable
|
||||
# while their calls are active", and move this making-a-copy-because-this-
|
||||
# data-needs-to-live-much-longer-than-the-call-from-which-it-arose to the
|
||||
# lowest Python layer.
|
||||
return tuple(self._received_metadata)
|
||||
|
||||
@property
|
||||
def received_status_code(self):
|
||||
|
|
@ -601,9 +617,8 @@ def operation_send_initial_metadata(Metadata metadata, int flags):
|
|||
cdef Operation op = Operation()
|
||||
op.c_op.type = GRPC_OP_SEND_INITIAL_METADATA
|
||||
op.c_op.flags = flags
|
||||
op.c_op.data.send_initial_metadata.count = metadata.c_metadata_array.count
|
||||
op.c_op.data.send_initial_metadata.metadata = (
|
||||
metadata.c_metadata_array.metadata)
|
||||
op.c_op.data.send_initial_metadata.count = metadata.c_count
|
||||
op.c_op.data.send_initial_metadata.metadata = metadata.c_metadata
|
||||
op.references.append(metadata)
|
||||
op.is_valid = True
|
||||
return op
|
||||
|
|
@ -631,9 +646,8 @@ def operation_send_status_from_server(
|
|||
op.c_op.type = GRPC_OP_SEND_STATUS_FROM_SERVER
|
||||
op.c_op.flags = flags
|
||||
op.c_op.data.send_status_from_server.trailing_metadata_count = (
|
||||
metadata.c_metadata_array.count)
|
||||
op.c_op.data.send_status_from_server.trailing_metadata = (
|
||||
metadata.c_metadata_array.metadata)
|
||||
metadata.c_count)
|
||||
op.c_op.data.send_status_from_server.trailing_metadata = metadata.c_metadata
|
||||
op.c_op.data.send_status_from_server.status = code
|
||||
grpc_slice_unref(op._status_details)
|
||||
op._status_details = _slice_from_bytes(details)
|
||||
|
|
@ -646,7 +660,7 @@ def operation_receive_initial_metadata(int flags):
|
|||
cdef Operation op = Operation()
|
||||
op.c_op.type = GRPC_OP_RECV_INITIAL_METADATA
|
||||
op.c_op.flags = flags
|
||||
op._received_metadata = Metadata([])
|
||||
op._received_metadata = MetadataArray()
|
||||
op.c_op.data.receive_initial_metadata.receive_initial_metadata = (
|
||||
&op._received_metadata.c_metadata_array)
|
||||
op.is_valid = True
|
||||
|
|
@ -669,7 +683,7 @@ def operation_receive_status_on_client(int flags):
|
|||
cdef Operation op = Operation()
|
||||
op.c_op.type = GRPC_OP_RECV_STATUS_ON_CLIENT
|
||||
op.c_op.flags = flags
|
||||
op._received_metadata = Metadata([])
|
||||
op._received_metadata = MetadataArray()
|
||||
op.c_op.data.receive_status_on_client.trailing_metadata = (
|
||||
&op._received_metadata.c_metadata_array)
|
||||
op.c_op.data.receive_status_on_client.status = (
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ cdef class Server:
|
|||
cdef OperationTag operation_tag = OperationTag(tag)
|
||||
operation_tag.operation_call = Call()
|
||||
operation_tag.request_call_details = CallDetails()
|
||||
operation_tag.request_metadata = Metadata([])
|
||||
operation_tag.request_metadata = MetadataArray()
|
||||
operation_tag.references.extend([self, call_queue, server_queue])
|
||||
operation_tag.is_new_request = True
|
||||
operation_tag.batch_operations = Operations([])
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ CLASSIFIERS = [
|
|||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
],
|
||||
]
|
||||
|
||||
PACKAGE_DIRECTORIES = {
|
||||
'': '.',
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ CLASSIFIERS = [
|
|||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
],
|
||||
]
|
||||
|
||||
PACKAGE_DIRECTORIES = {
|
||||
'': '.',
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_reflection/grpc_version.py.template`!!!
|
||||
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_testing/grpc_version.py.template`!!!
|
||||
|
||||
VERSION = '1.5.0.dev0'
|
||||
VERSION='1.7.0.dev0'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
LIBS="-lpthread $LIBS"
|
||||
|
||||
CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11"
|
||||
CXXFLAGS="-std=c++11"
|
||||
CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti"
|
||||
GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD"
|
||||
PHP_REQUIRE_CXX()
|
||||
PHP_ADD_LIBRARY(pthread)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<email>grpc-packages@google.com</email>
|
||||
<active>yes</active>
|
||||
</lead>
|
||||
<date>2017-05-22</date>
|
||||
<date>2017-08-24</date>
|
||||
<time>16:06:07</time>
|
||||
<version>
|
||||
<release>${settings.php_version.php()}</release>
|
||||
|
|
@ -27,6 +27,9 @@
|
|||
- Channel are now by default persistent #11878
|
||||
- Some bug fixes from 1.4 branch #12109, #12123
|
||||
- Fixed hang bug when fork() was used #11814
|
||||
- License changed to Apache 2.0
|
||||
- Added support for php_namespace option in codegen plugin #11886
|
||||
- Updated gRPC C Core library version 1.6
|
||||
</notes>
|
||||
<contents>
|
||||
<dir baseinstalldir="/" name="/">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
%YAML 1.2
|
||||
--- |
|
||||
# Copyright 2017 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.
|
||||
|
||||
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_testing/grpc_version.py.template`!!!
|
||||
|
||||
VERSION='${settings.python_version.pep440()}'
|
||||
|
|
@ -47,7 +47,7 @@ CLASSIFIERS = [
|
|||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
],
|
||||
]
|
||||
|
||||
PY3 = sys.version_info.major == 3
|
||||
|
||||
|
|
|
|||
|
|
@ -14,18 +14,15 @@
|
|||
|
||||
FROM debian:jessie
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy main" | tee /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
mono-devel \
|
||||
ca-certificates-mono \
|
||||
nuget
|
||||
nuget \
|
||||
&& apt-get clean
|
||||
|
||||
# make sure we have nuget 2.12+ (in case there's an older cached docker image)
|
||||
RUN apt-get update && apt-get install -y nuget
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
RUN apt-get update && apt-get install -y unzip && apt-get clean
|
||||
|
|
|
|||
|
|
@ -14,18 +14,15 @@
|
|||
|
||||
FROM 32bit/debian:jessie
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy main" | tee /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
mono-devel \
|
||||
ca-certificates-mono \
|
||||
nuget
|
||||
nuget \
|
||||
&& apt-get clean
|
||||
|
||||
# make sure we have nuget 2.12+ (in case there's an older cached docker image)
|
||||
RUN apt-get update && apt-get install -y nuget
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
RUN apt-get update && apt-get install -y unzip && apt-get clean
|
||||
|
|
|
|||
|
|
@ -17,11 +17,16 @@ FROM ubuntu:16.04
|
|||
RUN apt-get update && apt-get install -y \
|
||||
mono-devel \
|
||||
ca-certificates-mono \
|
||||
nuget
|
||||
nuget \
|
||||
&& apt-get clean
|
||||
|
||||
# make sure we have nuget 2.12+ (in case there's an older cached docker image)
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy main" | tee /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN apt-get update && apt-get install -y nuget
|
||||
RUN apt-get update && apt-get install -y nuget && apt-get clean
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
# Prevent "Error: SendFailure (Error writing headers)" when fetching nuget packages
|
||||
# See https://github.com/tianon/docker-brew-ubuntu-core/issues/86
|
||||
RUN apt-get update && apt-get install -y tzdata && apt-get clean
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip && apt-get clean
|
||||
|
|
|
|||
|
|
@ -1,114 +0,0 @@
|
|||
# Copyright 2015 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.
|
||||
|
||||
FROM debian:jessie
|
||||
|
||||
# Install Git and basic packages.
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
autotools-dev \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ccache \
|
||||
curl \
|
||||
gcc \
|
||||
gcc-multilib \
|
||||
git \
|
||||
golang \
|
||||
gyp \
|
||||
lcov \
|
||||
libc6 \
|
||||
libc6-dbg \
|
||||
libc6-dev \
|
||||
libgtest-dev \
|
||||
libtool \
|
||||
make \
|
||||
perl \
|
||||
strace \
|
||||
python-dev \
|
||||
python-setuptools \
|
||||
python-yaml \
|
||||
telnet \
|
||||
unzip \
|
||||
wget \
|
||||
zip && apt-get clean
|
||||
|
||||
#================
|
||||
# Build profiling
|
||||
RUN apt-get update && apt-get install -y time && apt-get clean
|
||||
|
||||
#====================
|
||||
# Python dependencies
|
||||
|
||||
# Install dependencies
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
python-all-dev \
|
||||
python3-all-dev \
|
||||
python-pip
|
||||
|
||||
# Install Python packages from PyPI
|
||||
RUN pip install pip --upgrade
|
||||
RUN pip install virtualenv
|
||||
RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.2.0 six==1.10.0
|
||||
|
||||
#================
|
||||
# C# dependencies
|
||||
|
||||
# Update to a newer version of mono
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \
|
||||
mono-devel \
|
||||
ca-certificates-mono \
|
||||
nuget \
|
||||
&& apt-get clean
|
||||
|
||||
RUN nuget update -self
|
||||
|
||||
# Install dotnet SDK based on https://www.microsoft.com/net/core#debian
|
||||
RUN apt-get update && apt-get install -y curl libunwind8 gettext
|
||||
# dotnet-dev-1.0.0-preview2-003131
|
||||
RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530
|
||||
RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet
|
||||
# dotnet-dev-1.0.1
|
||||
RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453
|
||||
RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet
|
||||
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
|
||||
|
||||
# Trigger the population of the local package cache
|
||||
ENV NUGET_XMLDOC_MODE skip
|
||||
RUN mkdir warmup \
|
||||
&& cd warmup \
|
||||
&& dotnet new \
|
||||
&& cd .. \
|
||||
&& rm -rf warmup
|
||||
|
||||
# Prepare ccache
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/gcc
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/g++
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/cc
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/c++
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang
|
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang++
|
||||
|
||||
|
||||
RUN mkdir /var/local/jenkins
|
||||
|
||||
# Define the default command.
|
||||
CMD ["bash"]
|
||||
|
|
@ -158,6 +158,7 @@ class PythonArtifact:
|
|||
return create_jobspec(self.name,
|
||||
['tools/run_tests/artifacts/build_artifact_python.sh'],
|
||||
environ=environ,
|
||||
timeout_seconds=60*60,
|
||||
use_workspace=True)
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
|||
|
|
@ -105,7 +105,9 @@ class CSharpDistribTest(object):
|
|||
use_workspace=True)
|
||||
elif self.platform == 'windows':
|
||||
if self.arch == 'x64':
|
||||
environ={'MSBUILD_EXTRA_ARGS': '/p:Platform=x64',
|
||||
# Use double leading / as the first occurence gets removed by msys bash
|
||||
# when invoking the .bat file (side-effect of posix path conversion)
|
||||
environ={'MSBUILD_EXTRA_ARGS': '//p:Platform=x64',
|
||||
'DISTRIBTEST_OUTPATH': 'DistribTest\\bin\\x64\\Debug'}
|
||||
else:
|
||||
environ={'DISTRIBTEST_OUTPATH': 'DistribTest\\bin\\Debug'}
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ class CSharpPackage:
|
|||
if self.linux:
|
||||
return create_docker_jobspec(
|
||||
self.name,
|
||||
'tools/dockerfile/test/csharp_coreclr_x64',
|
||||
'tools/dockerfile/test/csharp_jessie_x64',
|
||||
'src/csharp/build_packages_dotnetcli.sh')
|
||||
else:
|
||||
return create_jobspec(self.name,
|
||||
|
|
|
|||
Loading…
Reference in New Issue