Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev/dustin/move-methods-into-typ…
Browse files Browse the repository at this point in the history
…e-manager' into dev/dustin/move-methods-into-type-manager
  • Loading branch information
dustin-wojciechowski committed Nov 2, 2023
2 parents 776cb01 + c57a8c1 commit 1664e93
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 61 deletions.
38 changes: 0 additions & 38 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/FindAotCompiler.cs

This file was deleted.

4 changes: 2 additions & 2 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/FindAotCompilerTaskBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
using Xamarin.Localization.MSBuild;

namespace Xamarin.MacDev.Tasks {
public abstract class FindAotCompilerTaskBase : XamarinBuildTask {
public class FindAotCompiler : XamarinBuildTask {
[Required]
public ITaskItem [] MonoAotCrossCompiler { get; set; }

[Output]
public string AotCompiler { get; set; }

public override bool Execute ()
protected override bool ExecuteLocally ()
{
// If we can't find the AOT compiler path in MonoAotCrossCompiler, evaluate a project file that does know how to find it.
// This happens when executing remotely from Windows, because the MonoAotCrossCompiler item group will be empty in that case.
Expand Down
22 changes: 2 additions & 20 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/FindILLink.cs
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Build.Framework;
using Microsoft.Build.Tasks;
using Xamarin.Localization.MSBuild;
using Xamarin.Messaging.Build.Client;

namespace Xamarin.MacDev.Tasks {
public class FindILLink : XamarinBuildTask, ITaskCallback, ICancelableTask {
public class FindILLink : XamarinBuildTask {
[Output]
public string ILLinkPath { get; set; }

public override bool Execute ()
protected override bool ExecuteLocally ()
{
if (this.ShouldExecuteRemotely (SessionId))
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;

var targetName = "ComputeILLinkTaskPath";
var target = $@"<Target Name=""{targetName}"">
<WriteLinesToFile File=""$(OutputFilePath)"" Lines=""$(ILLinkTasksAssembly)"" />
Expand All @@ -35,18 +29,6 @@ public override bool Execute ()

return !Log.HasLoggedErrors;
}

public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();

public bool ShouldCopyToBuildServer (ITaskItem item) => false;

public bool ShouldCreateOutputFile (ITaskItem item) => false;

public void Cancel ()
{
if (ShouldExecuteRemotely ())
BuildConnection.CancelAsync (BuildEngine4).Wait ();
}
}
}

24 changes: 23 additions & 1 deletion msbuild/Xamarin.MacDev.Tasks/Tasks/XamarinBuildTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Tasks;
using Xamarin.Localization.MSBuild;
using Xamarin.Messaging.Build.Client;
using Threading = System.Threading.Tasks;

namespace Xamarin.MacDev.Tasks {
public abstract class XamarinBuildTask : XamarinTask {
public abstract class XamarinBuildTask : XamarinTask, ITaskCallback, ICancelableTask {
public bool KeepTemporaryOutput { get; set; }

[Required]
Expand Down Expand Up @@ -110,6 +111,27 @@ async Threading.Task<string> ExecuteBuildAsync (string dotnetPath, string projec
return File.ReadAllText (outputFile).Trim ();
return string.Empty;
}

public override sealed bool Execute ()
{
if (this.ShouldExecuteRemotely (SessionId))
return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result;
return ExecuteLocally ();
}

protected abstract bool ExecuteLocally ();

public virtual IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied () => Enumerable.Empty<ITaskItem> ();

public virtual bool ShouldCopyToBuildServer (ITaskItem item) => false;

public virtual bool ShouldCreateOutputFile (ITaskItem item) => false;

public virtual void Cancel ()
{
if (ShouldExecuteRemotely ())
BuildConnection.CancelAsync (BuildEngine4).Wait ();
}
}
}

0 comments on commit 1664e93

Please sign in to comment.