[msbuild] Merge the ReadItemsFromFile[Task] classes. (#19875)

This commit is contained in:
Rolf Bjarne Kvinge 2024-01-23 17:58:40 +01:00 коммит произвёл GitHub
Родитель fbc97609cc
Коммит eb2b83222d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
2 изменённых файлов: 12 добавлений и 23 удалений

Просмотреть файл

@ -1,22 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks {
public class ReadItemsFromFile : ReadItemsFromFileBase, ITaskCallback {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
return base.Execute ();
}
public bool ShouldCopyToBuildServer (ITaskItem item) => false;
public bool ShouldCreateOutputFile (ITaskItem item) => false;
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
}
}

Просмотреть файл

@ -8,11 +8,13 @@ using Microsoft.Build.Utilities;
using Microsoft.Build.Tasks;
using System.Xml.Linq;
using Xamarin.Messaging.Build.Client;
// Disable until we get around to enable + fix any issues.
#nullable disable
namespace Xamarin.MacDev.Tasks {
public abstract class ReadItemsFromFileBase : XamarinTask {
public class ReadItemsFromFile : XamarinTask, ITaskCallback {
static readonly XNamespace XmlNs = XNamespace.Get ("http://schemas.microsoft.com/developer/msbuild/2003");
static readonly XName ItemGroupElementName = XmlNs + "ItemGroup";
@ -35,6 +37,9 @@ namespace Xamarin.MacDev.Tasks {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
var result = new List<ITaskItem> ();
foreach (var file in File) {
// XDocument.Load(string) takes a string to a URI, not a file path, so with certain characters that becomes a problem.
@ -68,5 +73,11 @@ namespace Xamarin.MacDev.Tasks {
return item;
}
public bool ShouldCopyToBuildServer (ITaskItem item) => false;
public bool ShouldCreateOutputFile (ITaskItem item) => false;
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
}
}