Commit Graph

12 Commits

Author SHA1 Message Date
ben marsh
c4fa676cdc Fix static analysis warnings on newer NET builds.
[CL 29920306 by ben marsh in ue5-main branch]
2023-11-24 10:48:26 -05:00
matt oztalay
f4340681f6 Adding SplitFirst and SplitLast StringOps to BuildGraph, which return the first and last element (respectively) of the split input string.
#jira UES-6825

[CL 29889038 by matt oztalay in ue5-main branch]
2023-11-22 10:49:40 -05:00
ryan hummer
fb320d73a5 BuildGraph: Fix EnvVar lookup on non Windows platforms
Just like the Engine, swap - for _ as - is not valid on non Windows platform

#rnx
#rb ben.marsh

[CL 28646840 by ryan hummer in ue5-main branch]
2023-10-10 19:52:57 -04:00
chris constantinescu
9aa914f01c LinuxArm64 support for Low Level Tests through emulator, running in docker container
- Catch2 built for LinuxArm64
- new option to run apps in containerized mode
- builds docker image, setup and cleanup
- StringOp BuildGraph element for string operations (replace, to lower etc)
#jira UE-193565
#rb ue-qa-sdets

[CL 27758925 by chris constantinescu in ue5-main branch]
2023-09-11 12:55:31 -04:00
Ben Marsh
69e3180cc0 Horde: Add a custom error code for BuildGraph script compilation errors.
#preflight none

[CL 25606893 by Ben Marsh in ue5-main branch]
2023-05-24 13:06:11 -04:00
Ben Marsh
83a7283618 BuildGraph: Allow specifying the character sequence used to join lines in a property element body.
#preflight none

[CL 25518359 by Ben Marsh in ue5-main branch]
2023-05-17 18:46:53 -04:00
Ben Marsh
d32e8436c1 BuildGraph: Store artifact keys in the tag manifest rather than in the exported graph definition, since they may include non-constant values from build arguments.
#preflight none

[CL 25057984 by Ben Marsh in ue5-main branch]
2023-04-14 21:42:00 -04:00
Ben Marsh
86ccb45313 BuildGraph: Add support for explicitly labeling artifacts from a build using the <Artifact> element.
- Each artifact is named, and by default any files added to a tag with the name of the artifact will be treated as belonging to it.
- Artifacts can have include an optional set of keys that can be queried against on Horde.
- The host system (eg. Horde) is deemed responsible for archiving artifacts for later retrieval.

#preflight none

[CL 25048052 by Ben Marsh in ue5-main branch]
2023-04-14 15:43:33 -04:00
Ben Marsh
38f3bc55ef BuildGraph: Various VM improvements.
* 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]
2022-07-01 14:47:54 -04:00
Ben Marsh
bb0e506aac BuildGraph: Rename classes to reduce boilerplate when writing scripts.
* 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]
2022-06-24 18:30:51 -04:00
Ben Marsh
1d8d46de10 BuildGraph: Remove unused abstractions added to support reading BuildGraph scripts directly from P4.
#preflight 62b367ccd76167320e368af6

[CL 20781865 by Ben Marsh in ue5-main branch]
2022-06-22 17:14:28 -04:00
Ben Marsh
ff46dfcfce BuildGraph: Various refactorings prior to adding bytecode executor.
* 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]
2022-06-22 09:56:45 -04:00