Commit Graph

64 Commits

Author SHA1 Message Date
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
andrew grant
a98a690033 Switched UAT build process on Mac to use msbuild.
Enabled parallel msbuild for Mac
Added HashCollection class that can hold and serialize a collection of content hashes
Added quick dependency checking to UAT build by hashing csproj, input and output files for all modules
Reduced some logging when not running with -verbose

#rb Ben.Marsh
[FYI] Ben.Marsh

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 7290522 via CL 7290525 via CL 7292711 via CL 7292732 via CL 7308901 via CL 7315952
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v371-7306989)

[CL 7360867 by andrew grant in Dev-Build branch]
2019-07-17 02:21:07 -04:00
andrew grant
6adaee8f27 Updated TargetDeviceAndroid so both main and patch OBB files are copied.
Made CopyFile funtion public so code using TargetDeviceAndroid can use it.


#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 6650548 via CL 6650549 via CL 6650550 via CL 6650600 via CL 6650603
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v363-6677109)

[CL 6698981 by andrew grant in Dev-Build branch]
2019-05-31 12:44:05 -04:00
Ben Marsh
ca7115dbc8 UAT: Ignore empty arguments on the command line (ie. arguments passed as "") rather than treating them as command names.
#rb none

[CL 6191264 by Ben Marsh in Dev-Build branch]
2019-05-01 12:54:59 -04:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00