xamarin-macios/msbuild/Xamarin.MacDev.Tasks/Tasks/LinkNativeCode.cs

34 строки
1019 B
C#

using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public class LinkNativeCode : LinkNativeCodeTaskBase, ITaskCallback
{
string outputPath;
public override bool Execute ()
{
if (ShouldExecuteRemotely ()) {
outputPath = PathUtils.ConvertToMacPath (Path.GetDirectoryName (OutputFile));
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
}
return base.Execute ();
}
// We should avoid copying files from the output path because those already exist on the Mac
// and the ones on Windows are empty, so we will break the build
public bool ShouldCopyToBuildServer (ITaskItem item) => !PathUtils.ConvertToMacPath (item.ItemSpec).StartsWith (outputPath);
public bool ShouldCreateOutputFile (ITaskItem item) => false;
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();
}
}