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 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..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"); @@ -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..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 @@ -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."); @@ -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."); @@ -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!"); } } @@ -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/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/DeferredBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/DeferredBuildTest.cs index 73a8f41d9a6..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 @@ -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: 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/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/Tasks/CheckClientHandlerTypeTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckClientHandlerTypeTests.cs index 5db3db21aae..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"); + 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."); 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) {