Commit Graph

68 Commits

Author SHA1 Message Date
Ben Marsh
da4a5bc82b Registers matchers from UBT into log event parser in UAT, for times where we build inside UAT.
#preflight 629112c1a962938dff13b2ad

[CL 20396261 by Ben Marsh in ue5-main branch]
2022-05-27 14:14:28 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Ben Marsh
06673f202c UAT: Move logger matcher initialization into AutomationUtils, since it's not a hard dependency of AutomationTool.
#jira UE-153354
#preflight 6287e8208828ea88c87c54cd

[CL 20301330 by Ben Marsh in ue5-main branch]
2022-05-20 15:27:15 -04:00
PJ Kack
6b6bc48fc5 UAT: Add additional startup and BuildCookRun logging and timings
#jira none
#rb trivial
#rnx
#preflight 627379dda56dd762120e6e2e

[CL 20055418 by PJ Kack in ue5-main branch]
2022-05-05 03:40:01 -04:00
Ben Marsh
8a67c4acaf Horde: Move generic functionality for hosting different commands within an application into EpicGames.Core. Simplifies command line parsing, error handling, help output, etc...
#preflight 620c005c615db7478d393b1e

[CL 19001122 by Ben Marsh in ue5-main branch]
2022-02-15 14:41:10 -05:00
Ben Marsh
6a2855f64c UAT: Add support for async build commands and BuildGraph tasks.
#preflight 61b3aa86e928cffe866fa918

[CL 18433916 by Ben Marsh in ue5-main branch]
2021-12-10 15:36:47 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
geoff evans
9a59ec0529 AutomationTool
* Skip flushing ProjectUtils temp folders on startup of a child process. Leave files intact that were generated by the parent process.

This change fixes some issues where ProjectUtils is booted up in a parent AutomationTool, which causes some UATRules assemblies to be generated and loaded. Child processes try to clean up these files on startup, but they are locked by the parent process. Skip the cleanup in this case.

#rnx
#jira none
#rb jonathan.adamczewski
#preflight 614a12e1116f2a0001927afb

#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17585916 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17585949 by geoff evans in ue5-release-engine-test branch]
2021-09-21 14:48:58 -04:00
jonathan adamczewski
9ccfa4b86c UnrealBuildTool, AutomationTool:
Print path to log file, print a timestamp at the top of each log file, don't print (wrong) callstack location.

#jira none
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17351052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17351057 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 08:44:36 -04:00
jonathan adamczewski
f270855eef AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 10:39:35 -04:00
jonathan adamczewski
7b507db7d9 AutomationTool:
Remove dependencies from AutomationTool -> AutomationToolUtils

Removes compile-time dependencies, except for the call to AutomationTool.Automation.Process - which will be changed in a future CL.

This change is part of preparing AutomationTool to be able to build All *.Automation.csproj projects (including AutomationUtils.Automation.csproj)

#jira UE-109181
#preflight 60caedc72ab21800016a73a5

#ROBOMERGE-SOURCE: CL 16703954 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16703966 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-17 09:46:27 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
52fb70eda1 UnrealBuildTool:
Move StartupTraceListener.cs to BuildUtilities

#jira none

#ROBOMERGE-SOURCE: CL 16608546 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16608556 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 13:40:10 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Josh Adams
60c8673e12 - Updated Turnkey studio settings (split into separate .xml file so it can be read without trying to hunt down server files, added idea of what platforms are supported by the studio). Set Epic settings
- Return more info from Turnkey so callers can know if Turnkey can install full or autosdks (based on studio settings)
- Added idea of project settings having custom builds that can be run from Turnkey (and with a later checkin, Platforms menu in the editor)
#rb ben.marsh (just the code that chains Automation commands, as seen in ExecuteBuild)

[CL 14916239 by Josh Adams in ue5-main branch]
2020-12-14 14:46:33 -04:00
Joakim Lindqvist
be533b7d58 Brought back -nocompile and -compile options in UAT even if they are not used, to avoid erroring out when these gets forward by the batch file which will not remove already handled flags.
#jira UE-103979
#rb none

[CL 14842976 by Joakim Lindqvist in ue5-main branch]
2020-12-03 07:27:51 -04:00
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
Joakim Lindqvist
4a3312078d -Compile for UAT is now handled by the batchfiles rather then inside UAT itself when running netcore version (as netcore does not support shadow copy so we can not update the assemblies we are running)
Also removed usages of automationtool launcher in netcore as we no longer need it.

#rb ben.marsh
#jira UE-102151

[CL 14663048 by Joakim Lindqvist in ue5-main branch]
2020-11-05 09:07:32 -04:00
Ben Marsh
798e7ce776 Add a TraceSpan class that can be used to record timing information for UAT, and add tracing info for BuildGraph into it. Writes to a file in the directory specified by the UE_TELEMETRY_DIR environment variable.
#jira

[CL 13875408 by Ben Marsh in ue5-main branch]
2020-07-16 12:24:00 -04:00
ben marsh
373a31ef12 Fix copying of automation DLLs to output directory. Now may exist within any subfolders.
#rb none
#rnx
#jira UE-89493

#ROBOMERGE-SOURCE: CL 11611464 in //UE4/Release-4.25/... via CL 11611544
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11611575 by ben marsh in Main branch]
2020-02-25 14:13:08 -05:00
Ben Marsh
0a6a4d527a Use the IsBuildMachine environment variable to set the IsBuildMachine flag, rather than inferring it from uebp_LOCAL_ROOT. The uebp_LOCAL_ROOT variable is defined for child UAT instances, which causes the IsBuildMachine flag to be set incorrectly.
#rb none
#jira UE-85768

[CL 11280694 by Ben Marsh in Main branch]
2020-02-06 11:12:36 -05:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
Ryan Durand
a3ab2e0c76 UE-80607
Adding -TimeStamps to global args for AutomationTool since it should be.

#jira UE-80607
#rb ben.marsh
#rnx

[CL 9297280 by Ryan Durand in Main branch]
2019-09-30 10:16:52 -04:00
Ben Marsh
3cf7fb39fc Remove #region blocks.
#rb none
#rnx

[CL 8676383 by Ben Marsh in Dev-Build branch]
2019-09-13 14:02:02 -04:00