EpicGames.BuildGraph
Stores a list of nodes which can be executed on a single agent
Name of this agent. Used for display purposes in a build system.
Array of valid agent types that these nodes may run on. When running in the build system, this determines the class of machine that should
be selected to run these nodes. The first defined agent type for this branch will be used.
List of nodes in this agent group.
Diagnostics to output if executing this agent
Constructor
Name of this agent group
Defines a agggregate within a graph, which give the combined status of one or more job steps, and allow building several steps at once.
Name of this badge
Set of nodes that must be run for this label to be shown.
Constructor
Name of this aggregate
Get the name of this label
The name of this label
Aggregate that was created from bytecode
Labels to add this aggregate to
Constructor
Construct a BgAggregateDef
Defines an artifact produced by the build
Name of this artifact
Type of this artifact
Description for the artifact
Base path for files included in the artifact. Will be detected from the files specified if not set.
Node that produces the artifact. Either this or TagName should be set.
Tag to use for the artifact. Uses the artifact name by default.
Keys that can be used to find the artifact
Metadata for the artifact
Constructor
Name of the artifact
Type of the artifact
Description for the artifact
Base path for files included in the artifact
Name of the node producing this artifact
Name of the tag producing this artifact
Keys that can be used to find the artifact
Metadata for the artifact
Get the name of this badge
The name of this badge
Defines a badge which gives an at-a-glance summary of part of the build, and can be displayed in UGS
Name of this badge
Depot path to the project that this badge applies to. Used for filtering in UGS.
The changelist to post the badge for
Set of nodes that this badge reports the status of
Constructor
Name of this report
Depot path to the project that this badge applies to
The changelist to post the badge for
Get the name of this badge
The name of this badge
Helper class for writing BuildGraph bytecode to a buffer.
Writes an opcode to the output
Writes a string to the output
Writes a reference to an interned string to the output
Name to write
Writes a signed integer value to the output
Writes an unsigned integer to the output
Writes an unsigned integer to the output
Writes an expression to the output buffer
Writes an expression as a standalone fragment, encoding just the fragment index into the output stream
Writes a thunk to native code.
Method to be called
Version numbers for bytecode streams
Helper class for writing BuildGraph bytecode to a buffer.
Registers an expression for compilation into a new fragment
Compiles the given expression into bytecode
Expression to compile
Compiled bytecode for the expression, suitable for passing to
Context for executing a node method
The stream executing the current build
Changelist being built
The code changelist currently being built
Version number for the engine
Whether this machine is a builder
All outputs for the node
Constructor
Resolve a boolean expression to a value
The boolean expression
Value of the expression
Resolve an integer expression to a value
The integer expression
Value of the expression
Resolve a string expression to a value
The string expression
Value of the expression
Resolves an enum expression to a value
The enum type
Enum expression
The enum value
Resolve a list of enums to a value
The enum type
Enum expression
The enum value
Resolve a list of strings
List expression
Resolve a file set
The token expression
Set of files for the token
Resolve a file set
The token expression
Set of files for the token
Diagnostic message from the graph script. These messages are parsed at startup, then culled along with the rest of the graph nodes before output. Doing so
allows errors and warnings which are only output if a node is part of the graph being executed.
File containing the diagnostic
Line number containing the diagnostic
The diagnostic event type
The message to display
Report the diagnostic during execution
An optional set of node names that when is true limits the reporting of the diagnostic
to only this set of nodes
Constructor
Options for how the graph should be printed
No options specified
Includes a list of the graph options
Includes the list of dependencies for each node
Includes the list of notifiers for each node
Definition of a graph.
List of options, in the order they were specified
List of agents containing nodes to execute
Mapping from name to agent
Mapping of names to the corresponding node.
Mapping of names to the corresponding report.
Mapping of names to their corresponding node output.
Mapping of aggregate names to their respective nodes
Mapping of artifact names to their definitions. Artifacts will be produced from matching tag names.
List of badges that can be displayed for this build
List of labels that can be displayed for this build
Diagnostics at graph scope
Default constructor
Checks whether a given name already exists
The name to check.
True if the name exists, false otherwise.
Gets diagnostics from all graph structures
List of diagnostics
Tries to resolve the given name to one or more nodes. Checks for aggregates, and actual nodes.
The name to search for
If the name is a match, receives an array of nodes and their output names
True if the name was found, false otherwise.
Tries to resolve the given name to one or more node outputs. Checks for aggregates, and actual nodes.
The name to search for
If the name is a match, receives an array of nodes and their output names
True if the name was found, false otherwise.
Cull the graph to only include the given nodes and their dependencies
A set of target nodes to build
Export the build graph to a Json file, for parallel execution by the build system
Output file to write
Set of nodes which have been completed
Export the build graph to a Json file for parsing by Horde
Output file to write
Print the contents of the graph
Set of nodes which are already complete
Options for how to print the graph
Definition of a graph from bytecode. Can be converted to regular graph definition.
Nodes for the graph
Aggregates for the graph
Creates a graph definition from this template
Exception thrown by the runtime
Source file that the error was thrown from
Line number that threw the exception
Message to display
Constructor
Interprets compiled buildgraph bytecode
The option definitions that were parsed during execution
Constructor
Thunks to native code
Options for evaluating the graph
Evaluates the graph
Reads an opcode from the input stream
The opcode that was read
Reads a name from the input stream
Reads a string from the input stream
Writes a signed integer value to the output
the value that was read
Read an unsigned integer value from the input
The value that was read
Decode a signed integer using the lower bit for the sign flag, allowing us to encode it more efficiently as a
Value to be decoded
The decoded value
Disassemble the current script to a logger
Which changelist to show a UGS badge for
The current changelist being built
The last code changelist
Defines a label within a graph. Labels are similar to badges, and give the combined status of one or more job steps. Unlike badges, they
separate the requirements for its status and optional nodes to be included in its status, allowing this to be handled externally.
Name of this badge
Category for this label
Name of the badge in UGS
Path to the project folder in UGS
Which change to show the badge for
Set of nodes that must be run for this label to be shown.
Set of nodes that will be included in this label if present.
Constructor
Constructor
Name of this label
Type of this label
The UGS badge name
Project to display this badge for
The change to show this badge on in UGS
Get the name of this label
The name of this label
Reference to an output tag from a particular node
The node which produces the given output
Name of the tag
Constructor
Node which produces the given output
Name of the tag
Returns a string representation of this output for debugging purposes
The name of this output
Describes a dependency on a node output
The producing node
The output index. -1 means all inputs and outputs for the node.
Constructor
Flattens this expression to a list of outputs
Defines a node, a container for tasks and the smallest unit of execution that can be run as part of a build graph.
The node's name
Thunk to execute this node.
Array of inputs which this node requires to run
Array of outputs produced by this node
Nodes which this node has input dependencies on
Nodes which this node needs to run after
Tokens which must be acquired for this node to run
List of email addresses to notify if this node fails.
If set, anyone that has submitted to one of the given paths will be notified on failure of this node
Whether to start this node as soon as its dependencies are satisfied, rather than waiting for all of its agent's dependencies to be met.
Whether to ignore warnings produced by this node
Custom annotations for this node
Ignore modified files matching the patterns provided
Diagnostics to output if executing this node
Constructor
Constructor
The name of this node
Inputs that this node depends on
Names of the outputs that this node produces
Nodes which this node is dependent on for its inputs
Nodes which this node needs to run after. Should include all input dependencies.
Optional tokens which must be required for this node to run
File patterns to ignore when checking for modified timestamps
Returns the default output for this node, which includes all build products
Determines the minimal set of direct input dependencies for this node to run
Sequence of nodes that are direct inputs to this node
Determines the minimal set of direct order dependencies for this node to run
Sequence of nodes that are direct order dependencies of this node
Returns the name of this node
The name of this node
Node constructed from a bytecode expression
Agent declaring this node
Labels to add this node to
Input expressions
Number of outputs from this node
Constructor
Value of an object
Deserialized object value
Properties for the object
Constructor
Constructor
Sets a property value
Name of the property
New value for the property
Object definition with the new properties
Gets a property value
Name of the property
Default value to return if the property is not set
Creates a strongly typed object instance
Type of the object
Cache of serializer instances
Deserialize an object of the given type, using the default serializer
Type of the object to create
Deserialized instance of the type
Deserialize an object of the given type
Type to deserialize
Deserialized instance of the type
Strongly typed instance of
Constructor
Constructor
Gets a property value
Copies properties from the object value to an instance
Convert a value to a particular type
Value to convert
Target type
The converted value
Creates a map from name to property info
Attribute marking that a property should be serialized to BuildGraph
Name of the property. If unspecified, the property name will be used.
Constructor
Attribute marking the type of serializer for an object
The serailizer to use for this object
Constructor
The serializer type
Base class for deserializing objects from untyped instances
Deserialize an object from the given property bag
Properties for the object
New object instance
Strongly typed base class for deserializing objects
The object type
Typed deserialization method
Properties for the object
Object instance
Default serializer for objects with a default constructor
Object type
Opcodes for graph expressions. Each opcode is followed by 1-3 operands
Pushes a boolean 'false' value onto the stack
Pushes a boolean 'true' value onto the stack
Logical NOT
Logical AND
Logical OR
Logical XOR
Tests whether two boolean values are equal
A boolean option
Converts a bool to a string
An integer literal. Opcode is followed by a 32-bit little-endian integer.
Tests whether two integers are equal
Pops an integer from the stack, tests whether it is less than zero, and pushes a bool onto the stack with the result.
Pops an integer from the stack, tests whether it is greater than zero, and pushes a bool onto the stack with the result.
Adds two integers together
Multiplies two integers
Divides one integer by another
Computes the modulo of one integer with another
Negates an integer
An integer option between two values (see )
Converts a bool to a string
An empty string literal
A string literal. Opcode is followed by a UTF-8 encoded string with length.
Compares two strings for equality, using a value encoded into the byte stream as an unsigned .
Concatenates two strings and returns the result
Format a string, similar to
Joins a list of strings (first argument) with a separator (second argument)
Splits a string by a delimiter
Tests whether a string (first argument) matches a regular expression (second argument)
Returns a string with all ocurrences of the second argument in the first argument replaced with the third argument
A string option (see )
Literal enum value, as an integer.
Parses a string as an enum
Converts an enum to a string
Creates an empty list
Adds an item to a list
Adds a lazily evaluated item to a list
Gets the length of a list
Gets the element of a list at an index. Second argument is an integer expression.
Concatenates two lists
Creates the union of two lists
Creates the set excluding another set of items
Call a function on each element of a list, returning the transformed list
Select elements from a list using a predicate
Selects all the unique entries in the list. The comparer for the list type is determined by the type of the first element.
Determines whether a list contains a particular item
Indicates that the list should only be evaluated when the first item is enumerated from it.
An option providing a list of strings (see
An empty object
Gets the value of a property
Sets the value of a property
Takes an operand indicating the number of arguments, and offset of the function to call. Pops the arguments from the evaluation stack, pushes them onto the function stack, and jumps to the given offset.
Fetches a numbered argument from the functions stack frame.
Jumps to another fragment without creating a new stack frame
Chooses between two operands based on a boolean parameter.
Throws an exception
Null value for an optional expression
A native method invocation, represented as an index into the method table
Represents a graph option. These are expanded during preprocessing, but are retained in order to display help messages.
Name of this option
Label for the option in the dashboard
Description for this option
Constructor
The name of this option
Returns the default argument value
Default argument value
Returns a name of this option for debugging
Name of the option
Definition of a boolean option
Default value for the option
Constructor
The name of this option
Serializer for bool options
Definition of an integer option
Default value for the option
Minimum allowed value
Maximum allowed value
Constructor
The name of this option
Serializer for int options
Style for a string option
Free-form text entry
List of options
Definition of a string option
Default value for the option
Style for this option
Regex for validating values for the option
Message to display if validation fails
List of values to choose from
Matching list of descriptions for each value
Constructor
Name of the option
Serializer for string options
Style for a list option
List of checkboxes
Tag picker
A list option definition
Style for this list box
Default value for the option
List of values to choose from
Matching list of descriptions for each value
Constructor
Name of the option
Serializer for string options
Defines a report to be generated as part of the build.
Name of this trigger
Set of nodes to include in the report
List of users to notify with this report
Constructor
Name of this report
Get the name of this report
The name of this report
Information about the method bound to execute a node
Method to call
Arguments to the method
Constructor
Outputs from a thunk
The thunk definition
Output index from the thunk
Constructor
Describes an agent that can execute execute build steps
Name of the agent
List of agent types to select from, in order of preference. The first agent type supported by a stream will be used.
Constructor
Constructor
Specification for an aggregate target in the graph
Name of the aggregate
Outputs required for the aggregate
Label to apply to this aggregate
Constructor.
Constructor.
Constructor.
Constructor.
Abstract base class for expressions returning a boolean value
Constant value for false
Constant value for true
Constructor
Flags for this expression
Implict conversion operator from a boolean literal
Type traits for a
A boolean option expression
Name of the option
Label to display next to the option
Help text to display for the user
Default value for the option
Constructor
Constructor
Abstract base class for expressions returning a string value
Names of this enum
Values of this enum
Constructor
Implicit conversion from a regular enum type
Explicit conversion from a string value
Type traits for a
Represents a placeholder for the output from a node, which can be exchanged for the artifacts produced by a node at runtime
Constant empty fileset
Constructor
Implicit conversion from a regular fileset
Traits for a
/
Abstract base class for function expressions
The function expression.
Constructor
Expression to be evaluated
A function taking no arguments
Result type
Constructor
Function to construct from
Implicit conversion from a regular C# function
Call the function with the given arguments
Result from the function
A function taking a single argument
Type of the function argument
Result type
Constructor
Function to construct from
Implicit conversion from a regular C# function
Call the function with the given arguments
Argument to pass to the function
Result from the function
A function taking two arguments
Type of the first function argument
Type of the second function argument
Result type
Constructor
Function to construct from
Implicit conversion from a regular C# function
Call the function with the given arguments
First argument to the function
Second argument to the function
Result from the function
Specification for a graph in fluent syntax
Nodes for the graph
Aggregates for the graph
Constructor
Implicit conversion from a node spec
Implicit conversion from a list of node specs
Implicit conversion from an aggregate spec
Implicit conversion from a list of node specs
Abstract base class for expressions returning a 32-bit integer value
Implicit conversion from an integer value
Constructor
Flags for this expression
Traits for a
An integer option expression
Name of the option
Label to display next to the option
Help text to display for the user
Default value for the option
Minimum allowed value
Maximum allowed value
Constructor
Specification for a label
Name of this badge
Category for this label
Name of the badge in UGS
Path to the project folder in UGS
Which change to show the badge for
Constructor
Utility methods for lists
Gets an empty list of the given type
Crates a list from an array of values
Sequence to construct from
Crates a list from an array of values
Sequence to construct from
Crates a list from an array of values
Sequence to construct from
Crates a list from an array of values
Sequence to construct from
Concatenates two lists together
Concatenates two lists together
Abstract base class for expressions returning an immutable list of values
Constant representation of an empty list
Constructor
Flags for this expression
Implicit conversion operator from a single value
Implicit conversion operator from an array of values
Implicit conversion operator from a list of values
Crates a list from an array of values
Sequence to construct from
Crates a list from an array of values
Sequence to construct from
Concatenates two lists together
Concatenates two lists together
Gets the length of this list
Adds an item to the end of the list, returning the new list
Items to add
New list containing the given items
Adds items to the end of the list, returning the new list
Items to add
New list containing the given items
Creates the union of this list with another
Items to add
Union with the given items
Removes the given items from this list
Items to remove
New list without the given items
Removes any duplicate items from the list. The first item in the list is retained in its original order.
New list containing the distinct items.
Creates a lazily evaluated copy of this list, if it's not constant
Traits for a
A list option expression
Name of the option
Label to display next to the option
Help text to display for the user
Style for this list box
Default value for the option
List of values to choose from
Matching list of descriptions for each value
Constructor
Exception for constructing nodes
Constructor
Speecifies the node name for a method. Parameters from the method may be embedded in the name using the {ParamName} syntax.
The format string
Constructor
Format string for the name
Specification for a node to execute
Name of the node
Thunk to native code to execute the node
Number of outputs from this node
The default output of this node. Includes all other outputs.
Agent for the node to be run on
Tokens for inputs of this node
Weak dependency on outputs that must be generated for the node to run, without making those dependencies inputs.
Whether this node should start running as soon as its dependencies are ready, even if other nodes in the same agent are not.
Labels that this node contributes to
Constructor
Copy constructor
Creates a copy of this node and updates the given parameters
Clone this node
Clone of this node
Gets the default tag name for the numbered output index
Name of the node
Index of the output. Index zero is the default, others are explicit.
Inserts spaces into a PascalCase method name to create a node name
Implicit conversion to a fileset
Implicit conversion to a fileset
Nodespec with a typed return value
Output from this node
Constructor
Copy constructor
Clone this node
Clone of this node
Extension methods for BgNode types
Creates a node builder for the given agent
Agent to run the node
Function to execute
Node builder
Creates a node builder for the given agent
Agent to run the node
Function to execute
Node builder
Add dependencies onto other nodes or outputs. Outputs from the given tokens will be copied to the current machine before execution of the node.
The node to modify
Files to add as inputs
The current node spec, to allow chaining calls
Add dependencies onto other nodes or outputs. Outputs from the given tokens will be copied to the current machine before execution of the node.
The node to modify
Files to add as inputs
The current node spec, to allow chaining calls
Add dependencies onto other nodes or outputs. Outputs from the given tokens will be copied to the current machine before execution of the node.
The node to modify
Files to add as inputs
The current node spec, to allow chaining calls
Add weak dependencies onto other nodes or outputs. The producing nodes must complete successfully if they are part of the graph, but outputs from them will not be
transferred to the machine running this node.
The node to modify
Files to add as inputs
The current node spec, to allow chaining calls
Add a label to the node.
The node to modify
The label to add to the node.
The current node spec, to allow chaining calls
Abstract base class for expressions returning an object
The native type which mirrors this object
Constant representation of an empty object
Constructor
Flags for this expression
Sets the value of a property in the object
Name of the field
Value for the field
New object with the field set
Sets the value of a property in the object
Name of the field
Value for the field
New object with the field set
Gets the value of a field in the object
Name of the field
Default value for the field, if it's not defined
Value of the field
Gets the value of a field in the object
Expression indicating the property to retrieve
Default value for the property
Value of the field
Traits for a
Abstract base class for expressions returning a string value
Constant value for an empty string
Constructor
Flags for this expression
Implicit conversion from a regular string type
Appens another string to this one
Traits implementation for
Style for a string option
Free-form text entry
List of options
A string option expression
Name of the option
Label to display next to the option
Help text to display for the user
Default value for the option
Style for this option
Regex for validating values for the option
Message to display if validation fails
List of values to choose from
Matching list of descriptions for each value
Constructor
Thunks to a native method from within an expression. These objects contain an index into a thunk table that is not persisted to the bytecode.
Method to call
Arguments for the method
Creates a method closure from the given expression
Method call expression
Creates a method closure from the given expression
Type of the return value
Method call expression
Creates a method closure from the given expression
Parameter to the method
Method call expression
Creates a method closure from the given expression
Parameter to the method
Type of the return value
Method call expression
Constructor
Call expression
Wraps a native method that returns a value
Constructor
Interface for type traits
Creates a constant expression wrapping the given value
Value to wrap
Base class for type functions
Wraps an untyped expression as a strongly typed value
Expression to wrap
Attribute used to specify the converter class to use for a type
The converter type
Constructor
Utility methods for type traits
Create a converter instance for the given type
Gets the type interface for a type
Create a traits instance for the given type
Wraps an expression as a different type
Creates a constant of the given type
Creates a constant of the given type
Flags for an expression
No flags set
Indicates that the expression should never be interned (ie. encoded to a separate fragment), and will always be duplicated in the bytecode.
Trivial constants with short encodings typically have this flag set.
Always eagerly evaluate this expression
Force this expression to be stored in a separate fragment. Can help improves readability of the disassembly output.
Base class for computable expressions
Null value
Flags for this expression
Constructor
Throws an exception
Type of the expression to masquerade as
Message to display
Path to the source file declaring this diagnostic. Automatically set by the runtime.
Line number in the source file declaring this diagnostic. Automatically set by the runtime.
Chooses between two values based on a condition
Type of the expression to choose between
Condition to check
Value to return if the condition is true
Value to return if the condition is false
The chosen value
Serialize the expression to an output stream
Writer for output data
Convert the value of the expression to a string
Extension methods for expressions
Chose an expression if a condition evaluates to true
Type of the expression
The expression value
Condition to test
Value to return if the condition is true
New expression
Chose an expression if a condition evaluates to true
Type of the expression
The expression value
Condition to test
Function to apply to the expression if the condition is true
New expression