[DittoTask] If Source is a folder, add all its content as ITaskItem (#14375)
* [DittoTask] If Source is a folder, add all its content as ITaskItem * [DittoTask] Undoing undo... * Accidentally hit Cmd+Z and removed an using statement Co-authored-by: Manuel de la Pena <mandel@microsoft.com> Co-authored-by: Alex Soto <alex@alexsoto.me>
This commit is contained in:
Родитель
174aca5b04
Коммит
b859c6d8f3
|
@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Xamarin.Messaging.Build.Client;
|
||||
|
||||
namespace Xamarin.MacDev.Tasks
|
||||
|
@ -29,7 +30,16 @@ namespace Xamarin.MacDev.Tasks
|
|||
BuildConnection.CancelAsync (SessionId, BuildEngine4).Wait ();
|
||||
}
|
||||
|
||||
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
|
||||
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied ()
|
||||
{
|
||||
if (!Directory.Exists(Source.ItemSpec))
|
||||
return Enumerable.Empty<ITaskItem> ();
|
||||
|
||||
// TaskRunner doesn't know how to copy directories to Mac but `ditto` can take directories (and that's why we use ditto often).
|
||||
// If Source is a directory path, let's add each file within it as an TaskItem, as TaskRunner knows how to copy files to Mac.
|
||||
return Directory.GetFiles (Source.ItemSpec, "*", SearchOption.AllDirectories)
|
||||
.Select(f => new TaskItem(f));
|
||||
}
|
||||
|
||||
public bool ShouldCopyToBuildServer (ITaskItem item) => true;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче