diff --git a/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundle.cs b/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundle.cs deleted file mode 100644 index 37d2006dba95..000000000000 --- a/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundle.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Microsoft.Build.Framework; -using Xamarin.Messaging.Build.Client; - -namespace Xamarin.iOS.Tasks { - public class FindWatchOS2AppBundle : FindWatchOS2AppBundleTaskBase, ICancelableTask { - public override bool Execute () - { - if (!ShouldExecuteRemotely ()) - return base.Execute (); - - var taskRunner = new TaskRunner (SessionId, BuildEngine4); - - taskRunner.FixReferencedItems (WatchAppReferences); - - return taskRunner.RunAsync (this).Result; - } - - public void Cancel () - { - if (ShouldExecuteRemotely ()) - BuildConnection.CancelAsync (BuildEngine4).Wait (); - } - } -} diff --git a/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundleTaskBase.cs b/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundleTaskBase.cs index 2181245dbbc3..d88cc534232c 100644 --- a/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundleTaskBase.cs +++ b/msbuild/Xamarin.iOS.Tasks/Tasks/FindWatchOS2AppBundleTaskBase.cs @@ -5,26 +5,35 @@ using Xamarin.MacDev.Tasks; using Xamarin.MacDev; +using Xamarin.Messaging.Build.Client; using Xamarin.Utils; +#nullable enable + namespace Xamarin.iOS.Tasks { - public abstract class FindWatchOS2AppBundleTaskBase : XamarinTask { + public class FindWatchOS2AppBundle : XamarinTask, ICancelableTask { #region Inputs [Required] - public ITaskItem [] WatchAppReferences { get; set; } + public ITaskItem [] WatchAppReferences { get; set; } = Array.Empty (); #endregion Inputs #region Outputs [Output] - public string WatchOS2AppBundle { get; set; } + public string WatchOS2AppBundle { get; set; } = string.Empty; #endregion public override bool Execute () { + if (ShouldExecuteRemotely ()) { + var taskRunner = new TaskRunner (SessionId, BuildEngine4); + taskRunner.FixReferencedItems (WatchAppReferences); + return taskRunner.RunAsync (this).Result; + } + var pwd = PathUtils.ResolveSymbolicLinks (Environment.CurrentDirectory); if (WatchAppReferences.Length > 0) { @@ -35,5 +44,11 @@ public override bool Execute () return !Log.HasLoggedErrors; } + + public void Cancel () + { + if (ShouldExecuteRemotely ()) + BuildConnection.CancelAsync (BuildEngine4).Wait (); + } } }