Files
Joakim Lindqvist e7039d3d35 UBT and UAT now use .NET Core instead of Framework and Mono. This means that we use the same runtime on Windows, Linux and Mac. Further benefits including newer C# features and a lot of intresting features for the future around AOT and Tiered compilation.
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.

#rb ben.marsh

[CL 14834347 by Joakim Lindqvist in ue5-main branch]
2020-12-02 06:57:13 -04:00

52 lines
1.1 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Reflection;
using System.IO;
using System.Linq;
using System.Diagnostics;
using System.Dynamic;
namespace AutomationToolLauncher
{
class Launcher
{
static int Main(string[] Arguments)
{
return Run(Arguments);
}
static int Run(string[] Arguments)
{
string ApplicationBase = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string UATExecutable = Path.Combine(ApplicationBase, "..\\AutomationTool", "AutomationTool.exe");
if (!File.Exists(UATExecutable))
{
Console.WriteLine(string.Format("AutomationTool does not exist at: {0}", UATExecutable));
return -1;
}
try
{
ProcessStartInfo StartInfo = new ProcessStartInfo(UATExecutable);
foreach (string s in Arguments)
{
StartInfo.ArgumentList.Add(s);
}
Process uatProcess = Process.Start(StartInfo);
uatProcess.WaitForExit();
Environment.Exit(uatProcess.ExitCode);
}
catch (Exception Ex)
{
Console.WriteLine(Ex.Message);
Console.WriteLine(Ex.StackTrace);
}
return -1;
}
}
}