[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 Microsoft.Build.Framework;
|
||||||
|
|
||||||
using Xamarin.MacDev.Tasks;
|
using Xamarin.MacDev.Tasks;
|
||||||
|
using Xamarin.Messaging.Build.Client;
|
||||||
|
|
||||||
|
#nullable enable
|
||||||
|
|
||||||
namespace Xamarin.iOS.Tasks {
|
namespace Xamarin.iOS.Tasks {
|
||||||
public abstract class CollectITunesSourceFilesTaskBase : XamarinTask {
|
public class CollectITunesSourceFiles : XamarinTask, ICancelableTask {
|
||||||
static readonly string [] iTunesFileNames = { "iTunesMetadata.plist", "iTunesArtwork@2x", "iTunesArtwork" };
|
static readonly string [] iTunesFileNames = { "iTunesMetadata.plist", "iTunesArtwork@2x", "iTunesArtwork" };
|
||||||
|
|
||||||
#region Inputs
|
#region Inputs
|
||||||
|
|
||||||
[Required]
|
[Required]
|
||||||
public string OutputPath { get; set; }
|
public string OutputPath { get; set; } = string.Empty;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Outputs
|
#region Outputs
|
||||||
|
|
||||||
[Output]
|
[Output]
|
||||||
public ITaskItem [] ITunesSourceFiles { get; set; }
|
public ITaskItem [] ITunesSourceFiles { get; set; } = Array.Empty<ITaskItem> ();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public override bool Execute ()
|
public override bool Execute ()
|
||||||
{
|
{
|
||||||
|
if (ShouldExecuteRemotely ())
|
||||||
|
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
|
||||||
|
|
||||||
var files = new List<ITaskItem> ();
|
var files = new List<ITaskItem> ();
|
||||||
|
|
||||||
foreach (var fileName in iTunesFileNames) {
|
foreach (var fileName in iTunesFileNames) {
|
||||||
|
@ -42,5 +48,11 @@ namespace Xamarin.iOS.Tasks {
|
||||||
|
|
||||||
return !Log.HasLoggedErrors;
|
return !Log.HasLoggedErrors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Cancel ()
|
||||||
|
{
|
||||||
|
if (ShouldExecuteRemotely ())
|
||||||
|
BuildConnection.CancelAsync (BuildEngine4).Wait ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче