Commit Graph

73 Commits

Author SHA1 Message Date
Ben Marsh
ad3ba4ab43 BuildGraph: Allow use of absolute paths in Include elements.
#jira UE-152589
#preflight 6282aa6fc57a894cf697049d

[CL 20230392 by Ben Marsh in ue5-main branch]
2022-05-16 16:02:27 -04:00
Ben Marsh
508c144999 Horde: Last batch (hopefully) of static analysis fixes/suppressions.
#preflight 623e144c8073508cfc117a87

[CL 19517822 by Ben Marsh in ue5-main branch]
2022-03-25 15:35:47 -04:00
Ben Marsh
5e8a45eab2 Reformat EpicGames.BuildGraph according to style guidelines.
#preflight 623cdba70a073579730cf22b

[CL 19502617 by Ben Marsh in ue5-main branch]
2022-03-24 17:05:58 -04:00
Ryan Durand
7e494a86dd * Fix spelling on Retrieve
* Copy manifest ZIP files locally before unzipping them.
* Use retries when copying to harden against network blips.

#rnx
#jira UE-139648
#rb ryan.hummer, ben.marsh
#preflight

[CL 19480296 by Ryan Durand in ue5-main branch]
2022-03-23 12:02:11 -04:00
Ben Marsh
a91047d88b Allow running buildgraph scripts outside the UE root directory.
#jira UE-143426
#preflight 621d47429a5676d19a444b2b

[CL 19184477 by Ben Marsh in ue5-main branch]
2022-02-28 17:19:49 -05:00
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