Skip to content

Commit 8605872

Browse files
ChrisPulmanCheesebaronglennawatson
authored
chore: Update target frameworks for Maui and Testing projects (#4174)
… when running on Windows<!-- Please be sure to read the [Contribute](https://github.com/reactiveui/reactiveui#contribute) section of the README --> **What kind of change does this PR introduce?** <!-- Bug fix, feature, docs update, ... --> fix for #4170 **What is the current behavior?** <!-- You can also link to an open issue here. --> #4170 **What is the new behavior?** <!-- If this is a feature change --> Refactored target framework definitions in Directory.Build.props to improve cross-platform support for Maui and test projects. Updated ReactiveUI.Testing.csproj to use the correct target frameworks property. These changes ensure more accurate and flexible multi-platform builds. **What might this PR break?** Resolves a previous issue **Please check if the PR fulfills these requirements** - [x] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been added / updated (for bug fixes / features) **Other information**: --------- Co-authored-by: Tomasz Cielecki <249719+Cheesebaron@users.noreply.github.com> Co-authored-by: Glenn <5834289+glennawatson@users.noreply.github.com>
1 parent a26f6f2 commit 8605872

File tree

4 files changed

+18
-18
lines changed

4 files changed

+18
-18
lines changed

src/Directory.Build.props

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<!-- Enable building Windows-specific targets on non-Windows platforms -->
3939
<EnableWindowsTargeting>true</EnableWindowsTargeting>
4040
</PropertyGroup>
41-
41+
4242
<PropertyGroup>
4343
<!-- Granular Target Framework definitions for cross-platform builds -->
4444
<ReactiveUICoreTargets>net8.0;net9.0;net10.0</ReactiveUICoreTargets>
@@ -58,15 +58,19 @@
5858
<ReactiveUITestTargets>net9.0;net10.0</ReactiveUITestTargets>
5959
<ReactiveUITestTargets Condition="$([MSBuild]::IsOsPlatform('Windows'))">net9.0-windows10.0.19041.0;net10.0-windows10.0.19041.0</ReactiveUITestTargets>
6060

61-
<ReactiveUIMauiTestTargets>net9.0;net10.0</ReactiveUIMauiTestTargets>
62-
<ReactiveUIMauiTestTargets Condition="$([MSBuild]::IsOsPlatform('Windows'))">net9.0-windows10.0.19041.0;net10.0-windows10.0.19041.0</ReactiveUIMauiTestTargets>
63-
64-
<ReactiveMauiTargets>net9.0;net10.0;$(ReactiveUIAndroidTargets)</ReactiveMauiTargets>
61+
<ReactiveUIMauiTestTargets Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(ReactiveUIMauiWindowsTargets)</ReactiveUIMauiTestTargets>
62+
<ReactiveUIMauiTestTargets>$(ReactiveUIMauiTestTargets);net9.0;net10.0</ReactiveUIMauiTestTargets>
63+
64+
<ReactiveMauiTargets Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(ReactiveUIMauiWindowsTargets)</ReactiveMauiTargets>
65+
<ReactiveMauiTargets>$(ReactiveMauiTargets);net9.0;net10.0;$(ReactiveUIAndroidTargets)</ReactiveMauiTargets>
6566
<ReactiveMauiTargets Condition="$([MSBuild]::IsOsPlatform('Windows')) or $([MSBuild]::IsOsPlatform('OSX'))">$(ReactiveMauiTargets);$(ReactiveUIAppleTargets)</ReactiveMauiTargets>
6667

6768
<!-- Modern targets for tests and benchmarks (no netstandard) -->
6869
<ReactiveUIModernTargets>net8.0;net9.0;net10.0</ReactiveUIModernTargets>
6970

71+
<ReactiveUITestingTargets>netstandard2.0;$(ReactiveUIModernTargets)</ReactiveUITestingTargets>
72+
<ReactiveUITestingTargets Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(ReactiveUITestingTargets);net462;net472</ReactiveUITestingTargets>
73+
7074
<!-- Start with core targets available on all platforms -->
7175
<ReactiveUIFinalTargetFrameworks>netstandard2.0;$(ReactiveUICoreTargets)</ReactiveUIFinalTargetFrameworks>
7276

@@ -81,22 +85,22 @@
8185

8286
<!-- Final target frameworks for tests/benchmarks (modern .NET only, with platform-specific additions) -->
8387
<ReactiveUIFinalModernTargetFrameworks>$(ReactiveUIModernTargets)</ReactiveUIFinalModernTargetFrameworks>
84-
<ReactiveUIFinalModernTargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(ReactiveUIFrameworkTargets);$(ReactiveUIWindowsTargets)</ReactiveUIFinalModernTargetFrameworks>
88+
<ReactiveUIFinalModernTargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(ReactiveUIFinalModernTargetFrameworks);$(ReactiveUIFrameworkTargets);$(ReactiveUIWindowsTargets)</ReactiveUIFinalModernTargetFrameworks>
8589
</PropertyGroup>
86-
90+
8791
<PropertyGroup>
8892
<!-- Ensure all test runs use our runsettings to control cross-assembly parallelism -->
8993
<RunSettingsFilePath>$(MSBuildThisFileDirectory)tests.runsettings</RunSettingsFilePath>
9094
</PropertyGroup>
91-
95+
9296
<PropertyGroup Condition="$(MSBuildProjectName.Contains('WPF')) != 'true' and '$(IsTestProject)' != 'true' and ($(TargetFramework.StartsWith('net8.0')) or $(TargetFramework.StartsWith('net9.0')) or $(TargetFramework.StartsWith('net10.0')))">
9397
<IsAotCompatible>true</IsAotCompatible>
9498
</PropertyGroup>
95-
99+
96100
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
97101
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
98102
</PropertyGroup>
99-
103+
100104
<ItemGroup Condition="$(IsTestProject)">
101105
<PackageReference Include="NUnit"/>
102106
<PackageReference Include="NUnit3TestAdapter"/>
@@ -107,7 +111,7 @@
107111
<PackageReference Include="coverlet.msbuild" PrivateAssets="All"/>
108112
<PackageReference Include="Verify.NUnit"/>
109113
</ItemGroup>
110-
114+
111115
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
112116
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
113117
</ItemGroup>

src/ReactiveUI.Testing/ReactiveUI.Testing.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>$(ReactiveUIFinalModernTargetFrameworks)</TargetFrameworks>
3+
<TargetFrameworks>$(ReactiveUITestingTargets)</TargetFrameworks>
44
<AssemblyName>ReactiveUI.Testing</AssemblyName>
55
<RootNamespace>ReactiveUI.Testing</RootNamespace>
66
<PackageDescription>Provides extensions for testing ReactiveUI based applications</PackageDescription>

src/ReactiveUI.Tests/API/ApiApprovalTests.Testing.DotNet10_0.verified.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
[assembly: System.Runtime.Versioning.SupportedOSPlatform("Windows10.0.19041.0")]
2-
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v10.0", FrameworkDisplayName=".NET 10.0")]
3-
[assembly: System.Runtime.Versioning.TargetPlatform("Windows10.0.19041.0")]
1+
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v10.0", FrameworkDisplayName=".NET 10.0")]
42
namespace ReactiveUI.Testing
53
{
64
public abstract class AppBuilderTestBase

src/ReactiveUI.Tests/API/ApiApprovalTests.Testing.DotNet9_0.verified.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
[assembly: System.Runtime.Versioning.SupportedOSPlatform("Windows10.0.19041.0")]
2-
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName=".NET 9.0")]
3-
[assembly: System.Runtime.Versioning.TargetPlatform("Windows10.0.19041.0")]
1+
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName=".NET 9.0")]
42
namespace ReactiveUI.Testing
53
{
64
public abstract class AppBuilderTestBase

0 commit comments

Comments
 (0)