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]
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]
- 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]