| <Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| |
| <PropertyGroup> |
| <AssemblyName>Protobuf.MSBuild</AssemblyName> |
| <VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix> |
| <!-- If changing targets, change also paths in Google.Protobuf.Tools.targets. --> |
| <TargetFrameworks>net45;netstandard1.3</TargetFrameworks> |
| </PropertyGroup> |
| |
| <!-- This is copied verbatim from Grpc.Core/Common.csproj.include. Other settings |
| in that file conflict with the intent of this build, as it cannot be signed, |
| and may not compile Grpc.Core/Version.cs, as that file references constants |
| in Grpc.Core.dll. |
| TODO(kkm): Refactor imports. --> |
| <PropertyGroup Condition=" '$(OS)' != 'Windows_NT' and '$(MSBuildRuntimeType)' == 'Core' "> |
| <!-- Use Mono reference assemblies in SDK build: https://github.com/dotnet/sdk/issues/335 --> |
| <FrameworkPathOverride Condition="Exists('/usr/lib/mono/4.5-api')">/usr/lib/mono/4.5-api</FrameworkPathOverride> |
| <FrameworkPathOverride Condition="Exists('/usr/local/lib/mono/4.5-api')">/usr/local/lib/mono/4.5-api</FrameworkPathOverride> |
| <FrameworkPathOverride Condition="Exists('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5-api')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5-api</FrameworkPathOverride> |
| </PropertyGroup> |
| |
| <PropertyGroup Label="Asset root folders. TODO(kkm): Change with package separation."> |
| <!-- TODO(kkm): Rework whole section when splitting packages. --> |
| <!-- GRPC: ../../third_party/protobuf/src/google/protobuf/ --> |
| <!-- GPB: ../src/google/protobuf/ --> |
| <Assets_ProtoInclude>../../../third_party/protobuf/src/google/protobuf/</Assets_ProtoInclude> |
| |
| <!-- GPB: ../protoc/ --> |
| <!-- GRPC: ../protoc_plugins/protoc_ --> |
| <Assets_ProtoCompiler>../protoc_plugins/protoc_</Assets_ProtoCompiler> |
| |
| <!-- GRPC: ../protoc_plugins/ --> |
| <Assets_GrpcPlugins>../protoc_plugins/</Assets_GrpcPlugins> |
| </PropertyGroup> |
| |
| <PropertyGroup Condition=" '$(TargetFramework)' != 'net45' "> |
| <DefineConstants>$(DefineConstants);NETCORE</DefineConstants> |
| </PropertyGroup> |
| |
| <PropertyGroup Label="NuGet package definition" Condition=" '$(Configuration)' == 'Release' "> |
| <!-- TODO(kkm): Change to "build\" after splitting. --> |
| <BuildOutputTargetFolder>build\_protobuf\</BuildOutputTargetFolder> |
| <DevelopmentDependency>true</DevelopmentDependency> |
| <NoPackageAnalysis>true</NoPackageAnalysis> |
| <PackageId>Grpc.Tools</PackageId> |
| <Authors>The gRPC Authors</Authors> |
| <Copyright>Copyright 2018 The gRPC Authors</Copyright> |
| <Description>gRPC and Protocol Buffer compiler for managed C# and native C++ projects. |
| |
| Add this package to a project that contains .proto files to be compiled to code. |
| It contains the compilers, include files and project system integration for gRPC |
| and Protocol buffer service description files necessary to build them on Windows, |
| Linux and MacOS. Managed runtime is supplied separately in the Grpc.Core package.</Description> |
| <PackageIconUrl>https://github.com/grpc/grpc.github.io/raw/master/img/grpc_square_reverse_4x.png</PackageIconUrl> |
| <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> |
| <PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl> |
| <PackageTags>gRPC RPC HTTP/2</PackageTags> |
| </PropertyGroup> |
| |
| <ItemGroup Label="NuGet package assets"> |
| <None Pack="true" PackagePath="build\" Include="build\**\*.xml; build\**\*.props; build\**\*.targets;" /> |
| |
| <!-- Protobuf assets (for Google.Protobuf.Tools) --> |
| <_ProtoAssetName Include="any;api;descriptor;duration;empty;field_mask; |
| source_context;struct;timestamp;type;wrappers" /> |
| <_Asset PackagePath="build/native/include/google/protobuf/" Include="@(_ProtoAssetName->'$(Assets_ProtoInclude)%(Identity).proto')" /> |
| |
| <!-- TODO(kkm): GPB builds assets into "macosx", GRPC into "macos". --> |
| <!-- TODO(kkm): Do not place non-tools under tools/, use build/native/bin/. --> |
| <!-- TODO(kkm): Do not package windows x64 builds (#13098). --> |
| <_Asset PackagePath="tools/windows_x86/" Include="$(Assets_ProtoCompiler)windows_x86/protoc.exe" /> |
| <_Asset PackagePath="tools/windows_x64/" Include="$(Assets_ProtoCompiler)windows_x64/protoc.exe" /> |
| <_Asset PackagePath="tools/linux_x86/" Include="$(Assets_ProtoCompiler)linux_x86/protoc" /> |
| <_Asset PackagePath="tools/linux_x64/" Include="$(Assets_ProtoCompiler)linux_x64/protoc" /> |
| <_Asset PackagePath="tools/macosx_x86/" Include="$(Assets_ProtoCompiler)macos_x86/protoc" /> <!-- GPB: macosx--> |
| <_Asset PackagePath="tools/macosx_x64/" Include="$(Assets_ProtoCompiler)macos_x64/protoc" /> <!-- GPB: macosx--> |
| |
| <!-- gRPC assets (for Grpc.Tools) --> |
| <_Asset PackagePath="tools/windows_x86/" Include="$(Assets_GrpcPlugins)protoc_windows_x86/grpc_csharp_plugin.exe" /> |
| <_Asset PackagePath="tools/windows_x64/" Include="$(Assets_GrpcPlugins)protoc_windows_x64/grpc_csharp_plugin.exe" /> |
| <_Asset PackagePath="tools/linux_x86/" Include="$(Assets_GrpcPlugins)protoc_linux_x86/grpc_csharp_plugin" /> |
| <_Asset PackagePath="tools/linux_x64/" Include="$(Assets_GrpcPlugins)protoc_linux_x64/grpc_csharp_plugin" /> |
| <_Asset PackagePath="tools/macosx_x86/" Include="$(Assets_GrpcPlugins)protoc_macos_x86/grpc_csharp_plugin" /> |
| <_Asset PackagePath="tools/macosx_x64/" Include="$(Assets_GrpcPlugins)protoc_macos_x64/grpc_csharp_plugin" /> |
| |
| <None Include="@(_Asset)" Pack="true" Visible="false" /> |
| </ItemGroup> |
| |
| <ItemGroup Condition=" '$(TargetFramework)' == 'net45' "> |
| <Reference Include="Microsoft.Build.Framework; Microsoft.Build.Utilities.v4.0" Pack="false" /> |
| </ItemGroup> |
| |
| <ItemGroup Condition=" '$(TargetFramework)' != 'net45' "> |
| <PackageReference Include="Microsoft.Build.Framework; Microsoft.Build.Utilities.Core" Version="15.6.*" /> |
| <!-- Set PrivateAssets="All" on all items, even those implicitly added, |
| so that they do not become dependencies of this package. --> |
| <PackageReference Update="@(PackageReference)" PrivateAssets="All" /> |
| </ItemGroup> |
| |
| </Project> |