This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch branch-1.11
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/branch-1.11 by this push:
new d980ce4 AVRO-3238: Unify TargetFrameworks for C# projects (#1376)
d980ce4 is described below
commit d980ce42a5bdb3462b4117d5ff7850b282d44a5a
Author: Zoltan Csizmadia <[email protected]>
AuthorDate: Mon Jan 10 07:53:52 2022 -0600
AVRO-3238: Unify TargetFrameworks for C# projects (#1376)
* Unify TargetFrameworks
* Add net6.0 to common.props
Co-authored-by: Zoltan Csizmadia <[email protected]>
(cherry picked from commit 613dd99f3f096a482fbce9579572dac4634c0858)
---
lang/csharp/README.md | 18 +++++++--------
lang/csharp/common.props | 9 ++++++++
.../src/apache/ipc.test/Avro.ipc.test.csproj | 26 +++++++---------------
lang/csharp/src/apache/ipc/Avro.ipc.csproj | 5 ++++-
lang/csharp/src/apache/main/Avro.main.csproj | 2 +-
lang/csharp/src/apache/msbuild/Avro.msbuild.csproj | 12 +++-------
lang/csharp/src/apache/perf/Avro.perf.csproj | 6 +++--
lang/csharp/src/apache/test/Avro.test.csproj | 4 ++--
8 files changed, 40 insertions(+), 42 deletions(-)
diff --git a/lang/csharp/README.md b/lang/csharp/README.md
index 90d94fe..e2050c0 100644
--- a/lang/csharp/README.md
+++ b/lang/csharp/README.md
@@ -17,15 +17,15 @@ Install-Package Apache.Avro
## Project Target Frameworks
-| Project | Type | .NET Framework 4.0 | .NET Standard 2.0 |
.NET Standard 2.1 | .NET Core 3.1 | .NET 5.0 | .NET 6.0 |
-|:---------------:|:----------:|:------------------:|:------------------:|:-----------------:|:-------------:|:---------:|:---------:|
-| Avro.codegen | Exe | | |
| ✔️ |✔️ |✔️ |
-| Avro.ipc | Library | ✔️ | ✔️ |
| | | |
-| Avro.ipc.test | Unit Tests | ✔️ | |
| | | |
-| Avro.main | Library | | ✔️ | ✔️
| | | |
-| Avro.msbuild | Library | ✔️ | ✔️ |
| | | |
-| Avro.perf | Exe | ✔️ | |
| |✔️ |✔️ |
-| Avro.test | Unit Tests | ✔️ | |
| ✔️ |✔️ |✔️ |
+| Project | Type | .NET Standard 2.0 | .NET Standard 2.1 | .NET
Core 3.1 | .NET 5.0 | .NET 6.0 |
+|:---------------:|:----------:|:------------------:|:-----------------:|:-------------:|:---------:|:---------:|
+| Avro.codegen | Exe | | | ✔️
|✔️ |✔️ |
+| Avro.ipc | Library | ✔️ | ✔️ |
| | |
+| Avro.ipc.test | Unit Tests | | | ✔️
|✔️ |✔️ |
+| Avro.main | Library | ✔️ | ✔️ |
| | |
+| Avro.msbuild | Library | ✔️ | ✔️ |
| | |
+| Avro.perf | Exe | | | ✔️
|✔️ |✔️ |
+| Avro.test | Unit Tests | | | ✔️
|✔️ |✔️ |
## Dependency package version strategy
diff --git a/lang/csharp/common.props b/lang/csharp/common.props
index 3bae5bf..af994e6 100644
--- a/lang/csharp/common.props
+++ b/lang/csharp/common.props
@@ -33,6 +33,15 @@
<FileVersion>$(MajorVersion).$(MinorVersion).$(BuildNumber).0</FileVersion>
</PropertyGroup>
+ <PropertyGroup Label="Target Frameworks">
+ <!-- Exe -->
+
<DefaultExeTargetFrameworks>netcoreapp3.1;net5.0;net6.0</DefaultExeTargetFrameworks>
+ <!-- Library -->
+
<DefaultLibraryTargetFrameworks>netstandard2.0;netstandard2.1</DefaultLibraryTargetFrameworks>
+ <!-- Unit Tests -->
+
<DefaultUnitTestTargetFrameworks>$(DefaultExeTargetFrameworks)</DefaultUnitTestTargetFrameworks>
+ </PropertyGroup>
+
<PropertyGroup Label="Common NuGet Properties">
<!-- Reference:
https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target -->
<Copyright>Copyright © 2019 The Apache Software Foundation.</Copyright>
diff --git a/lang/csharp/src/apache/ipc.test/Avro.ipc.test.csproj
b/lang/csharp/src/apache/ipc.test/Avro.ipc.test.csproj
index 47eeba2..dfa5faa 100644
--- a/lang/csharp/src/apache/ipc.test/Avro.ipc.test.csproj
+++ b/lang/csharp/src/apache/ipc.test/Avro.ipc.test.csproj
@@ -16,8 +16,11 @@
-->
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="../../../common.props" />
+ <Import Project="../../../versions.props" />
+
<PropertyGroup>
- <TargetFrameworks>net40</TargetFrameworks>
+ <TargetFrameworks>$(DefaultUnitTestTargetFrameworks)</TargetFrameworks>
<RootNamespace>Avro.ipc.test</RootNamespace>
<AssemblyName>Avro.ipc.test</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
@@ -30,23 +33,10 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="nunit">
- <Version>3.10.1</Version>
- </PackageReference>
- <PackageReference Include="nunit3testadapter">
- <Version>3.10.0</Version>
- </PackageReference>
- <PackageReference Include="NUnit.ConsoleRunner">
- <Version>3.9.0</Version>
- </PackageReference>
- </ItemGroup>
-
- <ItemGroup Condition="'$(TargetFramework)'!='netcoreapp2.0'">
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.6.1" />
- </ItemGroup>
-
- <ItemGroup Condition="'$(TargetFramework)'=='netcoreapp2.0'">
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
+ <PackageReference Include="NUnit" Version="$(NUnitVersion)" />
+ <PackageReference Include="NUnit3TestAdapter"
Version="$(NUnit3TestAdapterVersion)" />
+ <PackageReference Include="NUnit.ConsoleRunner"
Version="$(NUnitConsoleRunnerVersion)" />
+ <PackageReference Include="Microsoft.NET.Test.Sdk"
Version="$(MicrosoftNETTestSdkVersion)" />
</ItemGroup>
<ItemGroup>
diff --git a/lang/csharp/src/apache/ipc/Avro.ipc.csproj
b/lang/csharp/src/apache/ipc/Avro.ipc.csproj
index b72fe9f..ba362f5 100644
--- a/lang/csharp/src/apache/ipc/Avro.ipc.csproj
+++ b/lang/csharp/src/apache/ipc/Avro.ipc.csproj
@@ -16,8 +16,11 @@
-->
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="../../../common.props" />
+ <Import Project="../../../versions.props" />
+
<PropertyGroup>
- <TargetFrameworks>net40;netstandard2.0</TargetFrameworks>
+ <TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>
<AssemblyName>Avro.ipc</AssemblyName>
<RootNamespace>Avro.ipc</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
diff --git a/lang/csharp/src/apache/main/Avro.main.csproj
b/lang/csharp/src/apache/main/Avro.main.csproj
index 4992542..e33284f 100644
--- a/lang/csharp/src/apache/main/Avro.main.csproj
+++ b/lang/csharp/src/apache/main/Avro.main.csproj
@@ -20,7 +20,7 @@
<Import Project="../../../versions.props" />
<PropertyGroup>
- <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
+ <TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>
<AssemblyName>Avro</AssemblyName>
<RootNamespace>Avro</RootNamespace>
<SignAssembly>true</SignAssembly>
diff --git a/lang/csharp/src/apache/msbuild/Avro.msbuild.csproj
b/lang/csharp/src/apache/msbuild/Avro.msbuild.csproj
index 7ba943c..fbd1011 100644
--- a/lang/csharp/src/apache/msbuild/Avro.msbuild.csproj
+++ b/lang/csharp/src/apache/msbuild/Avro.msbuild.csproj
@@ -16,11 +16,11 @@
-->
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="../../../common.props" />
<Import Project="../../../versions.props" />
<PropertyGroup>
- <TargetFrameworks
Condition="'$(OS)'!='Windows_NT'">netstandard2.0</TargetFrameworks>
- <TargetFrameworks
Condition="'$(OS)'=='Windows_NT'">net461;netstandard2.0</TargetFrameworks>
+ <TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>
<AssemblyName>Avro.msbuild</AssemblyName>
<RootNamespace>Avro.msbuild</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
@@ -33,17 +33,11 @@
<NoWarn>$(NoWarn);NU5104</NoWarn>
</PropertyGroup>
- <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
+ <ItemGroup>
<PackageReference Include="Microsoft.Build.Framework"
Version="$(MicrosoftBuildFrameworkVersion)" />
<PackageReference Include="Microsoft.Build.Utilities.Core"
Version="$(MicrosoftBuildUtilitiesCoreVersion)" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetFramework)' == 'net461'">
- <Reference Include="Microsoft.Build.Framework" />
- <Reference Include="Microsoft.Build.Tasks.v4.0" />
- <Reference Include="Microsoft.Build.Utilities.v4.0" />
- </ItemGroup>
-
<ItemGroup>
<ProjectReference Include="..\main\Avro.main.csproj" />
</ItemGroup>
diff --git a/lang/csharp/src/apache/perf/Avro.perf.csproj
b/lang/csharp/src/apache/perf/Avro.perf.csproj
index efd92e2..43432eb 100644
--- a/lang/csharp/src/apache/perf/Avro.perf.csproj
+++ b/lang/csharp/src/apache/perf/Avro.perf.csproj
@@ -16,10 +16,12 @@
-->
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="../../../common.props" />
+ <Import Project="../../../versions.props" />
+
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFrameworks
Condition="'$(OS)'!='Windows_NT'">net6.0</TargetFrameworks>
- <TargetFrameworks
Condition="'$(OS)'=='Windows_NT'">net461;net6.0</TargetFrameworks>
+ <TargetFrameworks>$(DefaultExeTargetFrameworks)</TargetFrameworks>
<AssemblyName>Avro.perf</AssemblyName>
<RootNamespace>Avro.perf</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
diff --git a/lang/csharp/src/apache/test/Avro.test.csproj
b/lang/csharp/src/apache/test/Avro.test.csproj
index 223c7f7..a249c25 100644
--- a/lang/csharp/src/apache/test/Avro.test.csproj
+++ b/lang/csharp/src/apache/test/Avro.test.csproj
@@ -16,11 +16,11 @@
-->
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="../../../common.props" />
<Import Project="../../../versions.props" />
<PropertyGroup>
- <TargetFrameworks
Condition="'$(OS)'!='Windows_NT'">netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
- <TargetFrameworks
Condition="'$(OS)'=='Windows_NT'">net461;netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
+ <TargetFrameworks>$(DefaultUnitTestTargetFrameworks)</TargetFrameworks>
<RootNamespace>Avro.test</RootNamespace>
<AssemblyName>Avro.test</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>