[msbuild] Merge the OptimizeImage[TaskBase] classes. (#19774)
This commit is contained in:
Родитель
b7044bc46d
Коммит
ef03fa8bca
|
@ -1,30 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Xamarin.Messaging.Build.Client;
|
||||
|
||||
namespace Xamarin.MacDev.Tasks {
|
||||
public class OptimizeImage : OptimizeImageTaskBase, ITaskCallback {
|
||||
public override bool Execute ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
|
||||
|
||||
return base.Execute ();
|
||||
}
|
||||
|
||||
public bool ShouldCopyToBuildServer (ITaskItem item) => !OutputImages.Contains (item);
|
||||
|
||||
public bool ShouldCreateOutputFile (ITaskItem item) => true;
|
||||
|
||||
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
|
||||
|
||||
public override void Cancel ()
|
||||
{
|
||||
base.Cancel ();
|
||||
|
||||
if (!string.IsNullOrEmpty (SessionId))
|
||||
BuildConnection.CancelAsync (BuildEngine4).Wait ();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.Build.Framework;
|
||||
|
||||
using Xamarin.Messaging.Build.Client;
|
||||
|
||||
// Disable until we get around to enable + fix any issues.
|
||||
#nullable disable
|
||||
|
||||
namespace Xamarin.MacDev.Tasks {
|
||||
public abstract class OptimizeImageTaskBase : XamarinToolTask {
|
||||
public class OptimizeImage : XamarinToolTask, ITaskCallback {
|
||||
ITaskItem inputImage;
|
||||
ITaskItem outputImage;
|
||||
|
||||
|
@ -83,6 +87,9 @@ namespace Xamarin.MacDev.Tasks {
|
|||
|
||||
public override bool Execute ()
|
||||
{
|
||||
if (ShouldExecuteRemotely ())
|
||||
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
|
||||
|
||||
var result = true;
|
||||
|
||||
for (var index = 0; index < this.InputImages.Length && index < this.OutputImages.Length; index++) {
|
||||
|
@ -101,5 +108,19 @@ namespace Xamarin.MacDev.Tasks {
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool ShouldCopyToBuildServer (ITaskItem item) => !OutputImages.Contains (item);
|
||||
|
||||
public bool ShouldCreateOutputFile (ITaskItem item) => true;
|
||||
|
||||
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
|
||||
|
||||
public override void Cancel ()
|
||||
{
|
||||
base.Cancel ();
|
||||
|
||||
if (!string.IsNullOrEmpty (SessionId))
|
||||
BuildConnection.CancelAsync (BuildEngine4).Wait ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче