[msbuild] Merge the CompileSceneKitAssets[TaskBase] classes. (#19573)

This commit is contained in:
Rolf Bjarne Kvinge 2023-12-06 20:57:44 +01:00 коммит произвёл GitHub
Родитель 57c919e0af
Коммит cce2510e3e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 25 добавлений и 34 удалений

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

@ -1,33 +0,0 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks {
public class CompileSceneKitAssets : CompileSceneKitAssetsTaskBase, ICancelableTask {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())
return base.Execute ();
var taskRunner = new TaskRunner (SessionId, BuildEngine4);
taskRunner.FixReferencedItems (SceneKitAssets);
FixUpRootedPaths (SceneKitAssets);
return taskRunner.RunAsync (this).Result;
}
public void Cancel ()
{
if (ShouldExecuteRemotely ())
BuildConnection.CancelAsync (BuildEngine4).Wait ();
}
void FixUpRootedPaths (ITaskItem [] sceneKitAssets)
{
foreach (var item in sceneKitAssets) {
item.ItemSpec = item.ItemSpec.Replace (":", "");
}
}
}
}

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

@ -10,12 +10,13 @@ using TaskItem = Microsoft.Build.Utilities.TaskItem;
using Xamarin.MacDev;
using Xamarin.Utils;
using Xamarin.Localization.MSBuild;
using Xamarin.Messaging.Build.Client;
// Disable until we get around to enable + fix any issues.
#nullable disable
namespace Xamarin.MacDev.Tasks {
public abstract class CompileSceneKitAssetsTaskBase : XamarinTask {
public class CompileSceneKitAssets : XamarinTask, ICancelableTask {
string toolExe;
#region Inputs
@ -119,6 +120,16 @@ namespace Xamarin.MacDev.Tasks {
public override bool Execute ()
{
if (ShouldExecuteRemotely ()) {
var taskRunner = new TaskRunner (SessionId, BuildEngine4);
taskRunner.FixReferencedItems (SceneKitAssets);
FixUpRootedPaths (SceneKitAssets);
return taskRunner.RunAsync (this).Result;
}
var prefixes = BundleResource.SplitResourcePrefixes (ResourcePrefix);
var intermediate = Path.Combine (IntermediateOutputPath, ToolName, AppBundleName);
var bundleResources = new List<ITaskItem> ();
@ -202,5 +213,18 @@ namespace Xamarin.MacDev.Tasks {
return !Log.HasLoggedErrors;
}
public void Cancel ()
{
if (ShouldExecuteRemotely ())
BuildConnection.CancelAsync (BuildEngine4).Wait ();
}
void FixUpRootedPaths (ITaskItem [] sceneKitAssets)
{
foreach (var item in sceneKitAssets) {
item.ItemSpec = item.ItemSpec.Replace (":", "");
}
}
}
}