From cc259b5a36232598b20aa74eebc0ea97bba48248 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 4 Dec 2024 02:19:17 +0100 Subject: [PATCH 1/6] Fix warning level calculation for .NET 10 --- .../targets/Microsoft.NET.Sdk.Analyzers.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets index adb582018346..bfe44a366470 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets @@ -62,7 +62,7 @@ Copyright (c) .NET Foundation. All rights reserved. 4 - $(_TargetFrameworkVersionWithoutV.Substring(0, 1)) + $(_TargetFrameworkVersionWithoutV.Split('.')[0]) From 8c8ceb70d458dba1417bbe15035d9d7b9d8677f7 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 28 Nov 2024 09:55:59 +0100 Subject: [PATCH 2/6] Revert bad test changes --- .../GivenThatWeWantToFloatWarningLevels.cs | 6 +++--- .../GivenThatWeWantToUseBinaryFormatter.cs | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs index fafc1185848a..15cc7ae391d5 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs @@ -13,7 +13,7 @@ public GivenThatWeWantToFloatWarningLevels(ITestOutputHelper log) : base(log) } [InlineData(targetFrameworkNet6, "6")] - [InlineData(ToolsetInfo.CurrentTargetFramework, "1")] + [InlineData(ToolsetInfo.CurrentTargetFramework, ToolsetInfo.CurrentTargetFrameworkVersion)] [InlineData(targetFrameworkNetFramework472, "4")] [RequiresMSBuildVersionTheory("16.8")] public void It_defaults_WarningLevel_To_The_Current_TFM_When_Net(string tfm, string warningLevel) @@ -59,7 +59,7 @@ static void Main() } [InlineData(1, "1")] - [InlineData(null, "1")] + [InlineData(null, ToolsetInfo.CurrentTargetFrameworkVersion)] [RequiresMSBuildVersionTheory("16.8")] public void It_always_accepts_user_defined_WarningLevel(int? warningLevel, string expectedWarningLevel) { @@ -156,7 +156,7 @@ static void Main() buildResult.StdErr.Should().Be(string.Empty); } - [InlineData(ToolsetInfo.CurrentTargetFramework, ToolsetInfo.CurrentTargetFrameworkVersion)] + [InlineData(ToolsetInfo.CurrentTargetFramework, ToolsetInfo.NextTargetFrameworkVersion)] [RequiresMSBuildVersionTheory("16.8")] public void It_defaults_preview_AnalysisLevel_to_the_next_tfm(string currentTFM, string nextTFMVersionNumber) { diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToUseBinaryFormatter.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToUseBinaryFormatter.cs index 98029672102a..69b6423f0a0f 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToUseBinaryFormatter.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToUseBinaryFormatter.cs @@ -133,6 +133,7 @@ public void It_warns_when_targeting_certain_frameworks_and_not_using_pragma_supp [Theory] [InlineData("net9.0")] + [InlineData(ToolsetInfo.CurrentTargetFramework)] public void It_errors_when_targeting_certain_frameworks_and_not_using_pragma_suppressions(string targetFramework) { var testProject = new TestProject() @@ -159,6 +160,7 @@ public void It_errors_when_targeting_certain_frameworks_and_not_using_pragma_sup [Theory] [InlineData("net9.0")] + [InlineData(ToolsetInfo.CurrentTargetFramework)] public void It_allows_downgrading_errors_to_warnings_via_project_config(string targetFramework) { var testProject = new TestProject() From af2abb076c7ec8090be90a2367a13222c5614f0a Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 4 Dec 2024 08:10:25 +0100 Subject: [PATCH 3/6] Update Microsoft.NET.Sdk.Analyzers.targets --- .../targets/Microsoft.NET.Sdk.Analyzers.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets index bfe44a366470..0c206deb1e52 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.Analyzers.targets @@ -22,8 +22,8 @@ Copyright (c) .NET Foundation. All rights reserved. <_NoneAnalysisLevel>4.0 - <_LatestAnalysisLevel>9.0 - <_PreviewAnalysisLevel>10.0 + <_LatestAnalysisLevel>10.0 + <_PreviewAnalysisLevel>11.0 Date: Wed, 4 Dec 2024 13:05:26 +0100 Subject: [PATCH 5/6] Instructions --- .../GivenThatWeWantToFloatWarningLevels.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs index 15cc7ae391d5..ce54d543b84d 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs @@ -157,6 +157,10 @@ static void Main() } [InlineData(ToolsetInfo.CurrentTargetFramework, ToolsetInfo.NextTargetFrameworkVersion)] + // Fixing this test requires bumping _LatestAnalysisLevel and _PreviewAnalysisLevel + // Bumping will cause It_maps_analysis_properties_to_globalconfig to fail which requires changes in dotnet/roslyn-analyzers repo. + // See instructions in the comment in It_maps_analysis_properties_to_globalconfig + [Ignore("https://github.com/dotnet/sdk/issues/45299")] [RequiresMSBuildVersionTheory("16.8")] public void It_defaults_preview_AnalysisLevel_to_the_next_tfm(string currentTFM, string nextTFMVersionNumber) { From 1175d119fb793ccf213ab2af174e2f266b6a082c Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 4 Dec 2024 14:49:57 +0100 Subject: [PATCH 6/6] Fix build --- .../GivenThatWeWantToFloatWarningLevels.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs index ce54d543b84d..9ce49dbf12ed 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToFloatWarningLevels.cs @@ -160,8 +160,7 @@ static void Main() // Fixing this test requires bumping _LatestAnalysisLevel and _PreviewAnalysisLevel // Bumping will cause It_maps_analysis_properties_to_globalconfig to fail which requires changes in dotnet/roslyn-analyzers repo. // See instructions in the comment in It_maps_analysis_properties_to_globalconfig - [Ignore("https://github.com/dotnet/sdk/issues/45299")] - [RequiresMSBuildVersionTheory("16.8")] + [RequiresMSBuildVersionTheory("16.8", Skip = "https://github.com/dotnet/sdk/issues/45299")] public void It_defaults_preview_AnalysisLevel_to_the_next_tfm(string currentTFM, string nextTFMVersionNumber) { var testProject = new TestProject