1<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2 <PropertyGroup> 3 <AssemblyName>Protobuf.MSBuild</AssemblyName> 4 <VersionPrefix>$(GrpcCsharpVersion)</VersionPrefix> 5 <!-- If changing targets, change also paths in Google.Protobuf.Tools.targets. --> 6 <TargetFrameworks>net45;netstandard1.3</TargetFrameworks> 7 <TreatWarningsAsErrors>true</TreatWarningsAsErrors> 8 </PropertyGroup> 9 10 <Import Project="SourceLink.csproj.include" /> 11 12 <PropertyGroup Label="Asset root folders."> 13 <!-- Root of well known types .proto files --> 14 <Assets_ProtoInclude>../../../third_party/protobuf/src/google/protobuf/</Assets_ProtoInclude> 15 16 <!-- Protocol buffers compiler binaries --> 17 <Assets_ProtoCompiler>../protoc_plugins/protoc_</Assets_ProtoCompiler> 18 19 <!-- Plugins binaries --> 20 <Assets_GrpcPlugins>../protoc_plugins/</Assets_GrpcPlugins> 21 </PropertyGroup> 22 23 <PropertyGroup Condition=" '$(TargetFramework)' != 'net45' "> 24 <DefineConstants>$(DefineConstants);NETCORE</DefineConstants> 25 </PropertyGroup> 26 27 <PropertyGroup Label="NuGet package definition" Condition=" '$(Configuration)' == 'Release' "> 28 <BuildOutputTargetFolder>build\_protobuf\</BuildOutputTargetFolder> 29 <DevelopmentDependency>true</DevelopmentDependency> 30 <NoPackageAnalysis>true</NoPackageAnalysis> 31 <PackageId>Grpc.Tools</PackageId> 32 <Authors>The gRPC Authors</Authors> 33 <Copyright>Copyright 2018 The gRPC Authors</Copyright> 34 <Description>gRPC and Protocol Buffer compiler for C# projects</Description> 35 <PackageIcon>packageIcon.png</PackageIcon> 36 <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> 37 <PackageProjectUrl>https://github.com/grpc/grpc</PackageProjectUrl> 38 <PackageTags>gRPC RPC HTTP/2</PackageTags> 39 <PackageReadmeFile>README.md</PackageReadmeFile> 40 </PropertyGroup> 41 42 <ItemGroup> 43 <None Include="../packageIcon.png" Pack="true" PackagePath="\"/> 44 <None Include="README.md" Pack="true" PackagePath="\"/> 45 </ItemGroup> 46 47 <ItemGroup Label="NuGet package assets"> 48 <None Pack="true" PackagePath="build\" Include="build\**\*.xml; build\**\*.props; build\**\*.targets;" /> 49 50 <!-- Protobuf assets - well known types --> 51 <_ProtoAssetName Include="any;api;descriptor;duration;empty;field_mask; 52 source_context;struct;timestamp;type;wrappers" /> 53 <_Asset PackagePath="build/native/include/google/protobuf/" Include="@(_ProtoAssetName->'$(Assets_ProtoInclude)%(Identity).proto')" /> 54 55 <!-- protocol buffers compiler --> 56 <_Asset PackagePath="tools/windows_x86/" Include="$(Assets_ProtoCompiler)windows_x86/protoc.exe" /> 57 <_Asset PackagePath="tools/windows_x64/" Include="$(Assets_ProtoCompiler)windows_x64/protoc.exe" /> 58 <_Asset PackagePath="tools/linux_x86/" Include="$(Assets_ProtoCompiler)linux_x86/protoc" /> 59 <_Asset PackagePath="tools/linux_x64/" Include="$(Assets_ProtoCompiler)linux_x64/protoc" /> 60 <_Asset PackagePath="tools/linux_arm64/" Include="$(Assets_ProtoCompiler)linux_aarch64/protoc" /> 61 <_Asset PackagePath="tools/macosx_x64/" Include="$(Assets_ProtoCompiler)macos_x64/protoc" /> 62 63 <!-- gRPC protocol buffer compiler plugins --> 64 <_Asset PackagePath="tools/windows_x86/" Include="$(Assets_GrpcPlugins)protoc_windows_x86/grpc_csharp_plugin.exe" /> 65 <_Asset PackagePath="tools/windows_x64/" Include="$(Assets_GrpcPlugins)protoc_windows_x64/grpc_csharp_plugin.exe" /> 66 <_Asset PackagePath="tools/linux_x86/" Include="$(Assets_GrpcPlugins)protoc_linux_x86/grpc_csharp_plugin" /> 67 <_Asset PackagePath="tools/linux_x64/" Include="$(Assets_GrpcPlugins)protoc_linux_x64/grpc_csharp_plugin" /> 68 <_Asset PackagePath="tools/linux_arm64/" Include="$(Assets_GrpcPlugins)protoc_linux_aarch64/grpc_csharp_plugin" /> 69 <_Asset PackagePath="tools/macosx_x64/" Include="$(Assets_GrpcPlugins)protoc_macos_x64/grpc_csharp_plugin" /> 70 71 <None Include="@(_Asset)" Pack="true" Visible="false" /> 72 </ItemGroup> 73 74 <ItemGroup Condition=" '$(TargetFramework)' == 'net45' "> 75 <Reference Include="Microsoft.Build.Framework; Microsoft.Build.Utilities.v4.0" Pack="false" /> 76 </ItemGroup> 77 78 <ItemGroup Condition=" '$(TargetFramework)' != 'net45' "> 79 <PackageReference Include="Microsoft.Build.Framework; Microsoft.Build.Utilities.Core" Version="15.6.*" /> 80 <!-- Set PrivateAssets="All" on all items, even those implicitly added, 81 so that they do not become dependencies of this package. --> 82 <PackageReference Update="@(PackageReference)" PrivateAssets="All" /> 83 </ItemGroup> 84 85</Project> 86