Extended ParamHelp attribute for BuildCommand to better describe the metadata of parameters for UAT scripts.
Update BuildGraph with ParamHelp attributes.
#rb: Eric.Knapik
#preflight: 6303e331c00af5e294fbb7e9
[CL 21525146 by gary yuan in ue5-main branch]
* Added support for deserializing BgObject types directly into native classes.
* Removed opcodes for creating graph structures. These are now created in user code from BgObject types.
* Removed BgNodeSpecBuilder. BgNode objects can now be modified directly (returning a modified copy).
* Added concrete types for option parameters. The VM now keeps track of any parameters for evaluated options, allowing them to be added into the graph definition.
* Order dependencies now take nodes rather than outputs.
* Added explicit support for native thunks, whose bindings are saved to a sideband channel during compilation and referenced in bytecode as an index. This generalizes code that was previously specific to node definitions.
* Added a name table to bytecode, to optimize situations where we reference the same string mulitple times.
#preflight 62bf3c583f0d6beee2e8f4a6
[CL 20918762 by Ben Marsh in ue5-main branch]
* Expression classes (nodes, aggregates, graphs, etc...) are now called BgNode, BgAggregate, etc...
* Evaluated and instantiated objects used by BuildGraph internals are now called BgNodeDef, BgAggregateDef, etc...
#preflight 62b6374161016695a6545b08
[CL 20818158 by Ben Marsh in ue5-main branch]
* Moved XML script parsing into UAT. We don't need to evaluate this in Horde.
* Added custom node types for script and expression nodes, rather than wrapping native nodes with a custom script task.
#preflight 62b31b76650c9d58579b2ea6
[CL 20773724 by Ben Marsh in ue5-main branch]
* 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]
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]