[msbuild] Merge the CollectITunesSourceFiles and CollectITunesSourceFilesTaskBase classes. (#17912)
We no longer need two have overridable logic for remote builds, so the non-abstract task class and the abstract base class can be merged. Also enable nullability and fix any issues.
This commit is contained in:
Родитель
e148c3e3d6
Коммит
cb9fc5021a
|
@ -1,20 +0,0 @@
|
|||
using Microsoft.Build.Framework;
|
||||
using Xamarin.Messaging.Build.Client;
|
||||
|
||||
namespace Xamarin.iOS.Tasks {
|
||||
public class CollectITunesSourceFiles : CollectITunesSourceFilesTaskBase, ICancelableTask {
|
||||
public override bool Execute ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
|
||||
|
||||
return base.Execute ();
|
||||
}
|
||||
|
||||
public void Cancel ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
BuildConnection.CancelAsync (BuildEngine4).Wait ();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,27 +6,33 @@ using Microsoft.Build.Utilities;
|
|||
using Microsoft.Build.Framework;
|
||||
|
||||
using Xamarin.MacDev.Tasks;
|
||||
using Xamarin.Messaging.Build.Client;
|
||||
|
||||
#nullable enable
|
||||
|
||||
namespace Xamarin.iOS.Tasks {
|
||||
public abstract class CollectITunesSourceFilesTaskBase : XamarinTask {
|
||||
public class CollectITunesSourceFiles : XamarinTask, ICancelableTask {
|
||||
static readonly string [] iTunesFileNames = { "iTunesMetadata.plist", "iTunesArtwork@2x", "iTunesArtwork" };
|
||||
|
||||
#region Inputs
|
||||
|
||||
[Required]
|
||||
public string OutputPath { get; set; }
|
||||
public string OutputPath { get; set; } = string.Empty;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Outputs
|
||||
|
||||
[Output]
|
||||
public ITaskItem [] ITunesSourceFiles { get; set; }
|
||||
public ITaskItem [] ITunesSourceFiles { get; set; } = Array.Empty<ITaskItem> ();
|
||||
|
||||
#endregion
|
||||
|
||||
public override bool Execute ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
|
||||
|
||||
var files = new List<ITaskItem> ();
|
||||
|
||||
foreach (var fileName in iTunesFileNames) {
|
||||
|
@ -42,5 +48,11 @@ namespace Xamarin.iOS.Tasks {
|
|||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
public void Cancel ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
BuildConnection.CancelAsync (BuildEngine4).Wait ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче