Skip to content

Commit 5f46bf8

Browse files
authored
feat: enable support for .NET 8.0 (#389)
Fixes #381 after implementing: - #388 - #387 - #386 - #385 - #384 - #383 - #382
1 parent b750be2 commit 5f46bf8

File tree

9 files changed

+46
-4
lines changed

9 files changed

+46
-4
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
1515
dotnet-version: |
1616
6.0.x
1717
7.0.x
18+
8.0.x
1819
- name: Set up JDK 17
1920
uses: actions/setup-java@v3
2021
with:
@@ -74,6 +75,7 @@ jobs:
7475
dotnet-version: |
7576
6.0.x
7677
7.0.x
78+
8.0.x
7779
- name: Build solution
7880
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
7981
- name: Run tests
@@ -101,6 +103,7 @@ jobs:
101103
dotnet-version: |
102104
6.0.x
103105
7.0.x
106+
8.0.x
104107
- name: Build solution
105108
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
106109
- name: Run tests
@@ -128,6 +131,7 @@ jobs:
128131
dotnet-version: |
129132
6.0.x
130133
7.0.x
134+
8.0.x
131135
- name: Build solution
132136
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
133137
- name: Run tests
@@ -155,6 +159,7 @@ jobs:
155159
dotnet-version: |
156160
6.0.x
157161
7.0.x
162+
8.0.x
158163
- name: Setup MSBuild
159164
uses: microsoft/setup-msbuild@v1
160165
- name: Setup VSTest
@@ -180,6 +185,7 @@ jobs:
180185
dotnet-version: |
181186
6.0.x
182187
7.0.x
188+
8.0.x
183189
- name: Build solution
184190
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
185191
- name: Build example solution

.github/workflows/ci-stryker.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
dotnet-version: |
2020
6.0.x
2121
7.0.x
22+
8.0.x
2223
- name: Install .NET Stryker
2324
shell: bash
2425
run: |

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
dotnet-version: |
2121
6.0.x
2222
7.0.x
23+
8.0.x
2324
- name: Build solution
2425
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
2526
- name: Run tests
@@ -53,6 +54,7 @@ jobs:
5354
dotnet-version: |
5455
6.0.x
5556
7.0.x
57+
8.0.x
5658
- name: Build solution
5759
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
5860
- name: Run tests
@@ -86,6 +88,7 @@ jobs:
8688
dotnet-version: |
8789
6.0.x
8890
7.0.x
91+
8.0.x
8992
- name: Build solution
9093
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
9194
- name: Run tests
@@ -153,6 +156,7 @@ jobs:
153156
dotnet-version: |
154157
6.0.x
155158
7.0.x
159+
8.0.x
156160
- name: Build solution
157161
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
158162
- name: Build example solution

.github/workflows/release.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
dotnet-version: |
1717
6.0.x
1818
7.0.x
19+
8.0.x
1920
- name: Set up JDK 17
2021
uses: actions/setup-java@v3
2122
with:
@@ -85,6 +86,7 @@ jobs:
8586
dotnet-version: |
8687
6.0.x
8788
7.0.x
89+
8.0.x
8890
- name: Build solution
8991
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
9092
- name: Run tests
@@ -112,6 +114,7 @@ jobs:
112114
dotnet-version: |
113115
6.0.x
114116
7.0.x
117+
8.0.x
115118
- name: Build solution
116119
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
117120
- name: Run tests
@@ -139,6 +142,7 @@ jobs:
139142
dotnet-version: |
140143
6.0.x
141144
7.0.x
145+
8.0.x
142146
- name: Build solution
143147
run: dotnet build /p:NetCoreOnly=True --configuration "Release"
144148
- name: Run tests
@@ -190,6 +194,7 @@ jobs:
190194
dotnet-version: |
191195
6.0.x
192196
7.0.x
197+
8.0.x
193198
- name: Build solution
194199
run: dotnet build /p:NetCoreOnly=True
195200
- name: Build example solution
@@ -215,6 +220,7 @@ jobs:
215220
dotnet-version: |
216221
6.0.x
217222
7.0.x
223+
8.0.x
218224
- name: Install .NET Stryker
219225
shell: bash
220226
run: |
@@ -242,6 +248,7 @@ jobs:
242248
dotnet-version: |
243249
6.0.x
244250
7.0.x
251+
8.0.x
245252
- name: Install .NET Stryker
246253
shell: bash
247254
run: |
@@ -294,6 +301,7 @@ jobs:
294301
dotnet-version: |
295302
6.0.x
296303
7.0.x
304+
8.0.x
297305
- name: Prepare README.md
298306
shell: bash
299307
run: |

.github/workflows/stryker.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
dotnet-version: |
2222
6.0.x
2323
7.0.x
24+
8.0.x
2425
- name: Install .NET Stryker
2526
shell: bash
2627
run: |
@@ -48,6 +49,7 @@ jobs:
4849
dotnet-version: |
4950
6.0.x
5051
7.0.x
52+
8.0.x
5153
- name: Install .NET Stryker
5254
shell: bash
5355
run: |

Feature.Flags.props

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
<IS_NET21_OR_HIGHER Condition="'$(TargetFramework)' == 'net6.0' OR '$(TargetFramework)' == 'net7.0' OR '$(TargetFramework)' == 'net8.0' OR '$(TargetFramework)' == 'netstandard2.1'">1</IS_NET21_OR_HIGHER>
55
<IS_NET6_OR_HIGHER Condition="'$(TargetFramework)' == 'net6.0' OR '$(TargetFramework)' == 'net7.0' OR '$(TargetFramework)' == 'net8.0'">1</IS_NET6_OR_HIGHER>
66
<IS_NET7_OR_HIGHER Condition="'$(TargetFramework)' == 'net7.0' OR '$(TargetFramework)' == 'net8.0'">1</IS_NET7_OR_HIGHER>
7-
7+
<IS_NET8_OR_HIGHER Condition="'$(TargetFramework)' == 'net8.0'">1</IS_NET8_OR_HIGHER>
8+
89
<DefineConstants Condition="'$(TargetFramework)' == 'net48' OR '$(TargetFramework)' == 'netstandard2.0'">$(DefineConstants);NETFRAMEWORK</DefineConstants>
910
<DefineConstants Condition="'$(IS_NET21_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_FILESYSTEM_ASYNC</DefineConstants>
1011
<DefineConstants Condition="'$(IS_NET21_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_FILESYSTEM_ENUMERATION_OPTIONS</DefineConstants>
@@ -28,6 +29,8 @@
2829
<DefineConstants Condition="'$(IS_NET7_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_FILESYSTEM_SAFEFILEHANDLE</DefineConstants>
2930
<DefineConstants Condition="'$(IS_NET7_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_FILESYSTEM_UNIXFILEMODE</DefineConstants>
3031
<DefineConstants Condition="'$(IS_NET7_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_GUID_FORMATPROVIDER</DefineConstants>
32+
<DefineConstants Condition="'$(IS_NET8_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_RANDOM_ITEMS</DefineConstants>
33+
<DefineConstants Condition="'$(IS_NET8_OR_HIGHER)' == '1'">$(DefineConstants);FEATURE_COMPRESSION_STREAM</DefineConstants>
3134
</PropertyGroup>
3235

3336
</Project>

Source/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</PropertyGroup>
1818

1919
<PropertyGroup>
20-
<TargetFrameworks>net6.0;net7.0;netstandard2.1;netstandard2.0</TargetFrameworks>
20+
<TargetFrameworks>net6.0;net7.0;net8.0;netstandard2.1;netstandard2.0</TargetFrameworks>
2121
<TargetFrameworks Condition="'$(NetFrameworkOnly)' == 'True'">netstandard2.0</TargetFrameworks>
2222
</PropertyGroup>
2323

Tests/Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<Import Project="$([MSBuild]::GetPathOfFileAbove('Feature.Flags.props', '$(MSBuildThisFileDirectory)/../'))" />
66

77
<PropertyGroup>
8-
<TargetFrameworks Condition="'$(NetCoreOnly)' != 'True'">net6.0;net7.0;net48</TargetFrameworks>
9-
<TargetFrameworks Condition="'$(NetCoreOnly)' == 'True'">net6.0;net7.0</TargetFrameworks>
8+
<TargetFrameworks Condition="'$(NetCoreOnly)' != 'True'">net6.0;net7.0;net8.0;net48</TargetFrameworks>
9+
<TargetFrameworks Condition="'$(NetCoreOnly)' == 'True'">net6.0;net7.0;net8.0</TargetFrameworks>
1010
<TargetFrameworks Condition="'$(NetFrameworkOnly)' == 'True'">net48</TargetFrameworks>
1111
</PropertyGroup>
1212

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#if NET8_0
2+
using System.IO;
3+
using Xunit.Abstractions;
4+
5+
namespace Testably.Abstractions.Parity.Tests;
6+
7+
// ReSharper disable once UnusedMember.Global
8+
public class Net8ParityTests : ParityTests
9+
{
10+
public Net8ParityTests(ITestOutputHelper testOutputHelper)
11+
: base(new TestHelpers.Parity(), testOutputHelper)
12+
{
13+
Parity.File.MissingMethods.Add(
14+
typeof(File).GetMethod(nameof(File.OpenHandle)));
15+
}
16+
}
17+
18+
#endif

0 commit comments

Comments
 (0)