Commit Graph

68 Commits

Author SHA1 Message Date
Ben Marsh
a59ef99c07 BuildGraph: New mechanism for declaring graphs using C# code (WIP).
Nodes can now be implemented by arbitary C# methods. Graph structure is specified through expression trees implemented using Bg* types, which are not substituted with values until execution time. Doing so allows determination of node and option dependencies for a particular target, allowing us to generate dynamic UI for presenting relevant settings to the user.

Includes partial implementation of Installed Build script as an example implementation.

#preflight 61bb85d46c2686e86322eec9

[CL 18477305 by Ben Marsh in ue5-main branch]
2021-12-16 13:55:22 -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
Ben Marsh
2960dad878 BuildGraph: Separate out a base class for the script parser, allowing the structure of a script to be examined without processing anything.
[CL 18302815 by Ben Marsh in ue5-main branch]
2021-11-26 20:24:26 -05:00
Ben Marsh
e75b127ab7 BuildGraph: Revert some changes causing problems with some existing scripts.
[CL 18238990 by Ben Marsh in ue5-main branch]
2021-11-18 11:52:02 -05:00
Ben Marsh
3f14906dc3 BuildGraph: Add a dedicated type to store source file location for script messages.
[CL 18210060 by Ben Marsh in ue5-main branch]
2021-11-16 14:07:30 -05:00
Ben Marsh
c2dbe61853 BuildGraph: Add support for including scripts using wildcards.
[CL 18191024 by Ben Marsh in ue5-main branch]
2021-11-15 10:58:50 -05:00
Ben Marsh
dda07eb2ee BuildGraph: Rename BgScript to BgGraph, to distinguish the concrete preprocessed graph from the input un-preprocessed script.
[CL 18181549 by Ben Marsh in ue5-main branch]
2021-11-14 11:34:01 -05:00
Ben Marsh
74ebf60078 BuildGraph: Make Exists() and Read() methods asynchronous.
[CL 18132882 by Ben Marsh in ue5-main branch]
2021-11-10 12:50:51 -05:00
Ben Marsh
503670e371 Build fix.
[CL 18115882 by Ben Marsh in ue5-main branch]
2021-11-09 18:18:55 -05:00
Ben Marsh
ff1f79e46f BuildGraph: Merging BuildGraph library refactor from //UE5/Release-5.0.
[CL 18107814 by Ben Marsh in ue5-main branch]
2021-11-09 12:36:25 -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
jonathan adamczewski
cdbb72ca00 AutomationTool:
When looking for types that come from script modules, look at just the script module assemblies.

#jira none
#rb none

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

[CL 17352224 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 10:43:17 -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
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
geoff evans
cf3870f68f Support for running multiple projects within the same Iteration Profile build
* This will give us wider data collection to detect regressions in the cases where a single project has a blocking issue.

AutomationTool:
* Add support for appending semicolon delimited parameters into Options (to feed <ForEach/>)

Horde:
* Put project name into labels to isolate trends graph as builds are run on different projects

#jira none
#rb tbd

#ROBOMERGE-SOURCE: CL 16318721 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16318729 by geoff evans in ue5-release-engine-test branch]
2021-05-13 16:53:38 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -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
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Ben Marsh
364bbe3d99 Update span names for DD trace.
#jira

[CL 13875438 by Ben Marsh in ue5-main branch]
2020-07-16 12:27: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
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Josh Adams
ab4a48f566 - Moved UEBuildPlatformSDK into a separate DLL, BuildUtilities (similar to DotNETUtilities), allowing for better sharing of code between UBT and UAT (Turnkey in particular)
- Refactored SDK versioning into more formalized APIs for all platforms. Currently UBT will not error with bad versions, but that is coming.
- Turnkey updated to use new BuildUtilities
#rb ben.marsh

[CL 13733158 by Josh Adams in ue5-main branch]
2020-06-22 14:32:25 -04:00
Ben Marsh
eb0f706f72 Merging Horde changes for BuildGraph.
#rb none
#rnx

[CL 13725070 by Ben Marsh in ue5-main branch]
2020-06-20 16:29:10 -04:00
ben marsh
03ae195b79 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536 via CL 10870955
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v624-10872983)

[CL 10876681 by ben marsh in Dev-Build branch]
2020-01-05 17:24:44 -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