Commit Graph

15 Commits

Author SHA1 Message Date
ben marsh
879f918be2 Horde: Fix build error in default configuration of packaged build script.
* BuildAndTestProject.xml now takes optional -set:ProjectFile=... argument rather than specifying name and directory individually.
* Also improved error message for invalid object names in buildgraph script parser.

[CL 31651916 by ben marsh in ue5-main branch]
2024-02-20 14:02:32 -05:00
nickdarnell
baa15cbbcc PR #11468: Default parameters should be added to the list of valid arguments in BuildGraph scripts.
#jira UE-206580

[CL 31437841 by nickdarnell in ue5-main branch]
2024-02-13 13:48:20 -05:00
matt breindel
70abdd189d Adding support to the BuildGraph system to allow properties first declared inside a macro to be flagged as CreateInParentScope causing them to be created in the scope containing the macro invocation. This allows macros to be used to define collections of properties. This pattern is now used in EditorPerf.xml inside the SetupPerfProject macro.
#rb [at]ben.marsh [at]ryan.hummer [at]bryan.johnson
#jira UE-205820

[CL 31149655 by matt breindel in ue5-main branch]
2024-02-02 19:00:11 -05:00
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