From 48155e537d6b02d2ee4956857a8a70ed1c01a513 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 1 Aug 2025 20:11:40 +0000 Subject: [PATCH 1/4] Update dependencies from https://github.com/dotnet/dotnet build 20250801.3 Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Cecil , Microsoft.NET.ILLink.Tasks , Microsoft.NET.Sdk , Microsoft.NETCore.App.Ref , Microsoft.TemplateEngine.Authoring.Tasks From Version 10.0.0-beta.25376.102 -> To Version 10.0.0-beta.25401.103 --- eng/Version.Details.xml | 24 ++++++++++++------------ eng/Versions.props | 12 ++++++------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2ab5edfb58b..a1dafc9c656 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,20 +1,20 @@ - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f @@ -27,13 +27,13 @@ - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f - + https://github.com/dotnet/dotnet - 03fb78540de4e5b3c8874da30e60b58321956993 + 8b29a1682219da555ee27e4fdda55dc3884b316f diff --git a/eng/Versions.props b/eng/Versions.props index 414739b48d9..7d7a46b0542 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,16 +1,16 @@ - 10.0.100-preview.7.25376.102 + 10.0.100-rc.1.25401.103 $(MicrosoftNETSdkPackageVersion) - 10.0.0-preview.7.25376.102 - 10.0.0-preview.7.25376.102 + 10.0.0-rc.1.25401.103 + 10.0.0-rc.1.25401.103 7.0.0-beta.22103.1 - 10.0.0-beta.25376.102 + 10.0.0-beta.25401.103 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) - 10.0.100-preview.7.25376.102 - 0.11.5-alpha.25376.102 + 10.0.100-preview.7.25401.103 + 0.11.5-alpha.25401.103 9.0.4 35.0.92 From 716eef9bd544cc5a48ec34d55f94ad0b2cd2b202 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 Aug 2025 09:57:59 -0500 Subject: [PATCH 2/4] Allow "skipped targets" in tests to pass if not showing up at all I suspect something about how MSBuild logs targets (that do not run) has changed, causing some random tests to fail. --- .../AndroidUpdateResourcesTest.cs | 10 ++++---- .../BindingBuildTest.cs | 2 +- .../Xamarin.Android.Build.Tests/BuildTest.cs | 4 ++-- .../IncrementalBuildTest.cs | 12 +++++----- .../Utilities/AssertionExtensions.cs | 24 +++++++++---------- .../Xamarin.ProjectTools/Common/DotNetCLI.cs | 2 +- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs index 4b3dfa5594a..3fb9ef1ce02 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs @@ -1027,11 +1027,11 @@ public void BuildAppWithManagedResourceParserAndLibraries () appBuilder.ThrowOnBuildFailure = false; Assert.IsTrue (libBuilder.DesignTimeBuild (libProj), "Library project should have built"); Assert.LessOrEqual (libBuilder.LastBuildTime.TotalMilliseconds, maxBuildTimeMs, $"DesignTime build should be less than {maxBuildTimeMs} milliseconds."); - Assert.IsFalse (libProj.CreateBuildOutput (libBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsFalse (libProj.CreateBuildOutput (libBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should have run."); Assert.IsTrue (appBuilder.DesignTimeBuild (appProj), "Application project should have built"); Assert.LessOrEqual (appBuilder.LastBuildTime.TotalMilliseconds, maxBuildTimeMs, $"DesignTime build should be less than {maxBuildTimeMs} milliseconds."); - Assert.IsFalse (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsFalse (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should have run."); var designerFile = Path.Combine (Root, path, appProj.ProjectName, appProj.IntermediateOutputPath, "designtime", "Resource.designer.cs"); FileAssert.Exists (designerFile, $"'{designerFile}' should have been created."); @@ -1046,11 +1046,11 @@ public void BuildAppWithManagedResourceParserAndLibraries () StringAssert.DoesNotContain ("main_text_item_size", designerContents, $"{designerFile} should not contain Resources.Dimension.main_text_item_size"); StringAssert.DoesNotContain ("theme_devicedefault_background", designerContents, $"{designerFile} should not contain Resources.Color.theme_devicedefault_background"); Assert.IsTrue (libBuilder.Build (libProj), "Library project should have built"); - Assert.IsTrue (libProj.CreateBuildOutput (libBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsTrue (libProj.CreateBuildOutput (libBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should not have run."); Assert.IsTrue (appBuilder.DesignTimeBuild (appProj), "App project should have built"); Assert.LessOrEqual (appBuilder.LastBuildTime.TotalMilliseconds, maxBuildTimeMs, $"DesignTime build should be less than {maxBuildTimeMs} milliseconds."); - Assert.IsFalse (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsFalse (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should have run."); FileAssert.Exists (designerFile, $"'{designerFile}' should have been created."); @@ -1212,7 +1212,7 @@ public void CustomViewAddResourceId () b.Output.IsTargetPartiallyBuilt ("_CompileResources"), "The target _CompileResources should have been partially built"); Assert.IsTrue ( - b.Output.IsTargetSkipped ("_FixupCustomViewsForAapt2"), + b.Output.IsTargetSkipped ("_FixupCustomViewsForAapt2", defaultIfNotUsed: true), "The target _FixupCustomViewsForAapt2 should have been skipped"); var r_java = Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath, "android", "src", proj.PackageNameJavaIntermediatePath, "R.java"); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs index ea418187e43..e49a3d1fc13 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs @@ -113,7 +113,7 @@ public void BindingLibraryIncremental (string classParser) Assert.IsTrue (b.Build (proj, doNotCleanupOnUpdate: true, saveProject: false), "second build should succeed"); foreach (var target in targets) { - Assert.IsTrue (b.Output.IsTargetSkipped (target), $"`{target}` should be skipped on second build!"); + Assert.IsTrue (b.Output.IsTargetSkipped (target, defaultIfNotUsed: true), $"`{target}` should be skipped on second build!"); } Assert.IsTrue (b.DesignTimeBuild (proj, target: "UpdateGeneratedFiles"), "DTB should have succeeded."); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index b58d5a0db40..c3ee21cefa8 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -203,9 +203,9 @@ public void DotNetBuild (string runtimeIdentifiers, bool isRelease, bool aot, bo if (isRelease) { builder.Output.AssertTargetIsNotSkipped ("ILLink"); - builder.Output.AssertTargetIsSkipped ("_LinkAssembliesNoShrink"); + builder.Output.AssertTargetIsSkipped ("_LinkAssembliesNoShrink", defaultIfNotUsed: true); } else { - builder.Output.AssertTargetIsSkipped ("ILLink"); + builder.Output.AssertTargetIsSkipped ("ILLink", defaultIfNotUsed: true); builder.Output.AssertTargetIsNotSkipped ("_LinkAssembliesNoShrink"); } } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs index bb7a266ed08..86d32c295fc 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs @@ -803,7 +803,7 @@ public CustomTextView(Context context, IAttributeSet attributes) : base(context, "_CompileResources" }; foreach (var target in aapt2TargetsShouldBeSkipped) { - Assert.IsTrue (appBuilder.Output.IsTargetSkipped (target), $"{target} should be skipped!"); + Assert.IsTrue (appBuilder.Output.IsTargetSkipped (target, defaultIfNotUsed: true), $"{target} should be skipped!"); } } } @@ -1243,15 +1243,15 @@ public void DesignTimeBuildSignAndroidPackage () builder.BuildLogFile = "build1.log"; Assert.IsTrue (builder.RunTarget (proj, "SignAndroidPackage", parameters: parameters), $"{proj.ProjectName} should succeed"); builder.Output.AssertTargetIsNotSkipped ("_GenerateResourceCaseMap", occurrence: 2); - builder.Output.AssertTargetIsSkipped ("_GenerateRtxt", occurrence: 1); + builder.Output.AssertTargetIsSkipped ("_GenerateRtxt", defaultIfNotUsed: true); builder.Output.AssertTargetIsNotSkipped ("_GenerateResourceDesignerIntermediateClass"); - builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerAssembly", occurrence: 2); + builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerAssembly", defaultIfNotUsed: true); builder.BuildLogFile = "build2.log"; Assert.IsTrue (builder.RunTarget (proj, "SignAndroidPackage", parameters: parameters), $"{proj.ProjectName} should succeed 2"); builder.Output.AssertTargetIsNotSkipped ("_GenerateResourceCaseMap", occurrence: 3); - builder.Output.AssertTargetIsSkipped ("_GenerateRtxt", occurrence: 2); - builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerIntermediateClass", occurrence: 2); - builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerAssembly"); + builder.Output.AssertTargetIsSkipped ("_GenerateRtxt", defaultIfNotUsed: true); + builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerIntermediateClass", defaultIfNotUsed: true); + builder.Output.AssertTargetIsSkipped ("_GenerateResourceDesignerAssembly", defaultIfNotUsed: true); } [Test] diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/AssertionExtensions.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/AssertionExtensions.cs index 2888d2748a7..6ace75f974a 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/AssertionExtensions.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/AssertionExtensions.cs @@ -11,39 +11,39 @@ namespace Xamarin.Android.Build.Tests public static class AssertionExtensions { [DebuggerHidden] - public static void AssertTargetIsSkipped (this BuildOutput output, string target, int? occurrence = null) + public static void AssertTargetIsSkipped (this BuildOutput output, string target, int? occurrence = null, bool defaultIfNotUsed = false) { if (occurrence != null) - Assert.IsTrue (output.IsTargetSkipped (target), $"The target {target} should have been skipped. ({occurrence})"); + Assert.IsTrue (output.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have been skipped. ({occurrence})"); else - Assert.IsTrue (output.IsTargetSkipped (target), $"The target {target} should have been skipped."); + Assert.IsTrue (output.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have been skipped."); } [DebuggerHidden] - public static void AssertTargetIsNotSkipped (this BuildOutput output, string target, int? occurrence = null) + public static void AssertTargetIsNotSkipped (this BuildOutput output, string target, int? occurrence = null, bool defaultIfNotUsed = false) { if (occurrence != null) - Assert.IsFalse (output.IsTargetSkipped (target), $"The target {target} should have *not* been skipped. ({occurrence})"); + Assert.IsFalse (output.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have *not* been skipped. ({occurrence})"); else - Assert.IsFalse (output.IsTargetSkipped (target), $"The target {target} should have *not* been skipped."); + Assert.IsFalse (output.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have *not* been skipped."); } [DebuggerHidden] - public static void AssertTargetIsSkipped (this DotNetCLI dotnet, string target, int? occurrence = null) + public static void AssertTargetIsSkipped (this DotNetCLI dotnet, string target, int? occurrence = null, bool defaultIfNotUsed = false) { if (occurrence != null) - Assert.IsTrue (dotnet.IsTargetSkipped (target), $"The target {target} should have been skipped. ({occurrence})"); + Assert.IsTrue (dotnet.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have been skipped. ({occurrence})"); else - Assert.IsTrue (dotnet.IsTargetSkipped (target), $"The target {target} should have been skipped."); + Assert.IsTrue (dotnet.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have been skipped."); } [DebuggerHidden] - public static void AssertTargetIsNotSkipped (this DotNetCLI dotnet, string target, int? occurrence = null) + public static void AssertTargetIsNotSkipped (this DotNetCLI dotnet, string target, int? occurrence = null, bool defaultIfNotUsed = false) { if (occurrence != null) - Assert.IsFalse (dotnet.IsTargetSkipped (target), $"The target {target} should have *not* been skipped. ({occurrence})"); + Assert.IsFalse (dotnet.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have *not* been skipped. ({occurrence})"); else - Assert.IsFalse (dotnet.IsTargetSkipped (target), $"The target {target} should have *not* been skipped."); + Assert.IsFalse (dotnet.IsTargetSkipped (target, defaultIfNotUsed), $"The target {target} should have *not* been skipped."); } [DebuggerHidden] diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs index bc07fbb44db..9d38ac66cf5 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs @@ -132,7 +132,7 @@ public IEnumerable LastBuildOutput { } } - public bool IsTargetSkipped (string target) => BuildOutput.IsTargetSkipped (LastBuildOutput, target); + public bool IsTargetSkipped (string target, bool defaultIfNotUsed = false) => BuildOutput.IsTargetSkipped (LastBuildOutput, target, defaultIfNotUsed); List GetDefaultCommandLineArgs (string verb, string target = null, string runtimeIdentifier = null, string [] parameters = null) { From 2b8fc542444d8eb1e5e59dc816d3c7a466e5e17e Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 Aug 2025 10:57:32 -0500 Subject: [PATCH 3/4] Fix more MSBuild tests --- .../AndroidUpdateResourcesTest.cs | 4 ++-- .../Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs | 6 +++--- .../Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs | 4 ++-- .../Tasks/CheckClientHandlerTypeTests.cs | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs index 3fb9ef1ce02..62c94fe18e9 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs @@ -961,11 +961,11 @@ public void BuildAppWithManagedResourceParser() appBuilder.BuildLogFile = "build.log"; Assert.IsTrue (appBuilder.Build (appProj, doNotCleanupOnUpdate: true), "Normal Application Build should have succeeded."); - Assert.IsTrue (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsTrue (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should not have run."); appBuilder.BuildLogFile = "designtimebuild.log"; Assert.IsTrue (appBuilder.DesignTimeBuild (appProj, doNotCleanupOnUpdate: true), "DesignTime Application Build should have succeeded."); - Assert.IsTrue (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen"), + Assert.IsTrue (appProj.CreateBuildOutput (appBuilder).IsTargetSkipped ("_ManagedUpdateAndroidResgen", defaultIfNotUsed: true), "Target '_ManagedUpdateAndroidResgen' should not have run."); Assert.IsTrue (appBuilder.Clean (appProj), "Clean should have succeeded"); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs index e49a3d1fc13..1320f45ab3e 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs @@ -121,7 +121,7 @@ public void BindingLibraryIncremental (string classParser) FileAssert.Exists (cs_file); Assert.IsTrue (b.Build (proj, doNotCleanupOnUpdate: true, saveProject: false), "third build should succeed"); foreach (var target in targets) { - Assert.IsTrue (b.Output.IsTargetSkipped (target), $"`{target}` should be skipped on second build!"); + Assert.IsTrue (b.Output.IsTargetSkipped (target, defaultIfNotUsed: true), $"`{target}` should be skipped on second build!"); } // Fast Update Check Build Assert.IsTrue (b.DesignTimeBuild (proj, target: "PrepareResources;_GenerateCompileInputs"), "DTB should have succeeded."); @@ -694,8 +694,8 @@ public void BindingWithAndroidJavaSource () "generated", "src", "Com.Xamarin.Android.Test.Msbuildtest.IJavaSourceTestInterface.cs"); StringAssertEx.ContainsText (File.ReadAllLines (generatedIface), "string GreetWithQuestion (string name, global::Java.Util.Date date, string question);"); Assert.IsTrue (libBuilder.Build (lib), "Library build should have succeeded."); - Assert.IsTrue (libBuilder.Output.IsTargetSkipped ("_CompileBindingJava"), $"`_CompileBindingJava` should be skipped on second build!"); - Assert.IsTrue (libBuilder.Output.IsTargetSkipped ("_ClearGeneratedManagedBindings"), $"`_ClearGeneratedManagedBindings` should be skipped on second build!"); + Assert.IsTrue (libBuilder.Output.IsTargetSkipped ("_CompileBindingJava", defaultIfNotUsed: true), $"`_CompileBindingJava` should be skipped on second build!"); + Assert.IsTrue (libBuilder.Output.IsTargetSkipped ("_ClearGeneratedManagedBindings", defaultIfNotUsed: true), $"`_ClearGeneratedManagedBindings` should be skipped on second build!"); FileAssert.Exists (generatedCode, $"'{generatedCode}' should have not be deleted on second build."); Assert.IsTrue (libBuilder.DesignTimeBuild (lib, target: "UpdateGeneratedFiles"), "DTB should have succeeded."); FileAssert.Exists (generatedCode, $"'{generatedCode}' should have not be deleted on DTB build."); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs index 73a8f41d9a6..090e678a0ad 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs @@ -29,7 +29,7 @@ public void SelectivelyRunUpdateAndroidResources () "ProvideCommandLineArgs=true", }), "first app build should have succeeded."); - Assert.IsTrue (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources"), $"`UpdateAndroidResources` should be skipped for DTB when deferred build is supported!"); + Assert.IsTrue (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources", defaultIfNotUsed: true), $"`UpdateAndroidResources` should be skipped for DTB when deferred build is supported!"); // The background build would run our UpdateAndroidResources in its DeferredBuildDependsOn Assert.IsTrue (appBuilder.RunTarget (app, "UpdateAndroidResources", parameters: new string[]{ @@ -42,7 +42,7 @@ public void SelectivelyRunUpdateAndroidResources () "ProvideCommandLineArgs=true", }), "background build should have succeeded."); - Assert.IsFalse (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources"), $"`UpdateAndroidResources` should *not* be skipped in the deferred build!"); + Assert.IsFalse (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources", defaultIfNotUsed: true), $"`UpdateAndroidResources` should *not* be skipped in the deferred build!"); // Run the real build now Assert.IsTrue (appBuilder.Build(app, parameters: new string[]{ diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs index 5db3db21aae..9f00dc35080 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs @@ -31,7 +31,7 @@ public void ErrorIsNotRaised (string handler) b.Verbosity = LoggerVerbosity.Detailed; b.Build (proj); intermediatePath = Path.Combine (path,proj.IntermediateOutputPath); - targetSkipped = b.Output.IsTargetSkipped ("_CheckAndroidHttpClientHandlerType"); + targetSkipped = b.Output.IsTargetSkipped ("_CheckAndroidHttpClientHandlerType", defaultIfNotUsed: true); } if (handler.Contains ("Xamarin.Android.Net.AndroidMessageHandler")) From f4d7159525f1953758850728a9e5e8ab90098611 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 Aug 2025 13:50:15 -0500 Subject: [PATCH 4/4] Fix more tests --- .../Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs | 2 +- .../Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs | 2 +- .../Tasks/CheckClientHandlerTypeTests.cs | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs index 1320f45ab3e..315c56552b4 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs @@ -129,7 +129,7 @@ public void BindingLibraryIncremental (string classParser) FileAssert.Exists (cs_file); Assert.IsTrue (b.Build (proj, doNotCleanupOnUpdate: true, saveProject: false), "forth build should succeed"); foreach (var target in targets) { - Assert.IsTrue (b.Output.IsTargetSkipped (target), $"`{target}` should be skipped on second build!"); + Assert.IsTrue (b.Output.IsTargetSkipped (target, defaultIfNotUsed: true), $"`{target}` should be skipped on second build!"); } } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs index 090e678a0ad..696cffe87b2 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs @@ -42,7 +42,7 @@ public void SelectivelyRunUpdateAndroidResources () "ProvideCommandLineArgs=true", }), "background build should have succeeded."); - Assert.IsFalse (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources", defaultIfNotUsed: true), $"`UpdateAndroidResources` should *not* be skipped in the deferred build!"); + Assert.IsFalse (appBuilder.Output.IsTargetSkipped ("UpdateAndroidResources", defaultIfNotUsed: false), $"`UpdateAndroidResources` should *not* be skipped in the deferred build!"); // Run the real build now Assert.IsTrue (appBuilder.Build(app, parameters: new string[]{ diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs index 9f00dc35080..6a1ca1d2280 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs @@ -22,6 +22,7 @@ public void ErrorIsNotRaised (string handler) string path = Path.Combine (Root, "temp", TestName); Directory.CreateDirectory (path); string intermediatePath; + bool shouldSkip = handler.Contains ("Xamarin.Android.Net.AndroidMessageHandler"); bool targetSkipped; var proj = new XamarinAndroidApplicationProject () { IsRelease = false, @@ -31,10 +32,10 @@ public void ErrorIsNotRaised (string handler) b.Verbosity = LoggerVerbosity.Detailed; b.Build (proj); intermediatePath = Path.Combine (path,proj.IntermediateOutputPath); - targetSkipped = b.Output.IsTargetSkipped ("_CheckAndroidHttpClientHandlerType", defaultIfNotUsed: true); + targetSkipped = b.Output.IsTargetSkipped ("_CheckAndroidHttpClientHandlerType", defaultIfNotUsed: shouldSkip); } - if (handler.Contains ("Xamarin.Android.Net.AndroidMessageHandler")) + if (shouldSkip) Assert.IsTrue (targetSkipped, "_CheckAndroidHttpClientHandlerType should not have run."); else Assert.IsFalse (targetSkipped, "_CheckAndroidHttpClientHandlerType should have run.");