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]
Also added ability to override path to dotnet for DotnetTask, to allow us to use a system install dotnet for special cases (in this case we use a newer .NET version then the rest of the engine)
[CL 18222416 by Joakim Lindqvist in ue5-main branch]
Also disable ANSI escape sequences while running any docker commands, and allow passing an environment file into <DotNet> tasks.
#fyi Joakim.Lindqvist
[CL 17786622 by Ben Marsh in ue5-main branch]