Commit Graph

23 Commits

Author SHA1 Message Date
Ben Marsh
deb457e523 BuildGraph: Allow specifying annotations directly on the node declaration.
#preflight 626bfb635c220f34aceb493c

[CL 19979508 by Ben Marsh in ue5-main branch]
2022-04-29 11:03:20 -04:00
Ben Marsh
030034bb05 Horde: Add a generic way of attaching key/value settings to different nodes via BuildGraph.
The <Annotate> attribute allows specifying settings in the format "Key1=Value1;Key2=Value2" to be applied to individual nodes or entire targets, and this data is propagated through to Horde and stored on the job template.

#jira UE-150213
#preflight 62681589dd35c0d6cab2b984

[CL 19922586 by Ben Marsh in ue5-main branch]
2022-04-26 12:30:58 -04:00
Ryan Hummer
4dc8759cbe BuildGraph - Fix Switch statements always executing Default
#rnx
#jira none
#rb ben.marsh
#preflight none

[CL 19760966 by Ryan Hummer in ue5-main branch]
2022-04-14 15:07:07 -04:00
Ben Marsh
c72605bcc7 Fix some analyzer warnings.
#preflight none

[CL 19535012 by Ben Marsh in ue5-main branch]
2022-03-28 18:54:42 -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
d9651a6f14 Horde: Fix build errors after BuildGraph refactor.
#preflight none

[CL 19511746 by Ben Marsh in ue5-main branch]
2022-03-25 09:46:16 -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
97c2bbabc5 Add support for per platform FilterPlugin inis for plugins which was originally in a code review for CL 18874143.
#rnx
#jira UE-125146
#rb ryan.hummer
#preflight 62169f2b104496cff8a2c4e8

[CL 19122049 by Ryan Durand in ue5-main branch]
2022-02-24 14:48:24 -05: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
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
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
9aa42e619f BuildGraph: Minor cleanup.
[CL 18302605 by Ben Marsh in ue5-main branch]
2021-11-26 19:22:11 -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
3cf466ad80 BuildGraph: Allow macros in include directives again.
[CL 18224673 by Ben Marsh in ue5-main branch]
2021-11-17 11:46:01 -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
af726fc5d7 Fix build.
[CL 18195222 by Ben Marsh in ue5-main branch]
2021-11-15 14:54:47 -05:00
Ben Marsh
9b3cbfa93e BuildGraph: Changes to support introspection of BuildGraph property dependencies without full script evaluation.
- Include directives must appear at the root level of the graph, and no longer support conditional inclusion.
- Macros may no longer be conditionally defined.
- Macros must have constant names. Ability to extend existing macros via the <Extend> element has been added to support pluggable extension points required by installed build script.

[CL 18195024 by Ben Marsh in ue5-main branch]
2021-11-15 14:46:03 -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
d96d253ade Horde: Convert EpicGames.BuildGraph project to enable #nullable.
[CL 18114409 by Ben Marsh in ue5-main branch]
2021-11-09 17:27:41 -05:00
Ben Marsh
31746c4acd BuildGraph: Allow passing a null schema to BgScriptReader.TryRead.
[CL 18113780 by Ben Marsh in ue5-main branch]
2021-11-09 16:59:24 -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