BuildGraph.Automation Exception class thrown due to type and syntax errors in condition expressions Constructor; formats the exception message with the given String.Format() style parameters. Formatting string, in String.Format syntax Optional arguments for the string Context for evaluating BuildGraph conditions Root directory for resolving paths Context for evaluating BuildGraph conditions Root directory for resolving paths Root directory for resolving paths Class to evaluate condition expressions in build scripts, following this grammar: or-expression ::= and-expression | or-expression "Or" and-expression; and-expression ::= comparison | and-expression "And" comparison; comparison ::= scalar | scalar "==" scalar | scalar "!=" scalar | scalar "<" scalar | scalar "<=" scalar; | scalar ">" scalar | scalar ">=" scalar; scalar ::= "(" or-expression ")" | "!" scalar | "Exists" "(" scalar ")" | "HasTrailingSlash" "(" scalar ")" | string | identifier; string ::= any sequence of characters terminated by single quotes (') or double quotes ("). Not escaped. identifier ::= any sequence of letters, digits, or underscore characters. The type of each subexpression is always a scalar, which are converted to expression-specific types (eg. booleans, integers) as required. Scalar values are case-insensitive strings. The identifier 'true' and the strings "true" and "True" are all identical scalars. Sentinel added to the end of a sequence of tokens. Tokens for the condition The current token index Constructor The condition text Evaluates the given string as a condition. Throws a ConditionException on a type or syntax error. Context for evaluating the condition The result of evaluating the condition Evaluates the given string as a condition. Throws a ConditionException on a type or syntax error. Context for evaluating the condition The result of evaluating the condition Evaluates an "or-expression" production. Context for evaluating the expression A scalar representing the result of evaluating the expression. Evaluates an "and-expression" production. Context for evaluating the expression A scalar representing the result of evaluating the expression. Evaluates a "comparison" production. Context for evaluating the expression The result of evaluating the expression Evaluates arguments from a token string. Arguments are all comma-separated tokens until a closing ) is encountered The result of evaluating the expression Evaluates a "scalar" production. Context for evaluating the expression The result of evaluating the expression Determine if a path exists Checks whether Haystack contains "Needle". The string to search The string to search for True if the path exists, false otherwise. Checks whether HaystackItems contains "Needle". The separated list of items to check The item to check for The separator used in Haystack True if the path exists, false otherwise. Converts a scalar to a boolean value. The scalar to convert The scalar converted to a boolean value. Converts a scalar to a boolean value. The scalar to convert The scalar converted to an integer value. Splits an input string up into expression tokens. Text to be converted into tokens List to receive a list of tokens Test cases for conditions. Helper method to evaluate a condition and check it's the expected result Condition to evaluate The expected result Base class for any user defined graphs Accessor for default logger instance Callback used to instantiate the graph The graph context Base class for binding and executing nodes ExecuteAsync the method given in the Implementation of for graphs defined through XML syntax The script node List of bound task implementations Constructor Parse a value of the given type The text to parse Type of the value to parse Context for evaluating boolean expressions Value that was parsed Build all the tasks for this node Information about the current job Mapping from tag names to the set of files they include. Should be set to contain the node inputs on entry. Whether the task succeeded or not. Exiting with an exception will be caught and treated as a failure. Specifies validation that should be performed on a task parameter. Allow any valid values for the field type. A list of tag names separated by semicolons A file specification, which may contain tags and wildcards. Information about a parameter to a task Name of this parameter The type for values assigned to this field The ICollection interface for this type Validation type for this field Whether this parameter is optional Constructor Helper class to serialize a task from an xml element Name of this task Parameters for this task Constructor Name of the task Parameters for the task Enumeration of standard types used in the schema. Avoids hard-coding names. Schema for build graph definitions. Stores information about the supported tasks, and allows validating an XML document. Name of the root element Namespace for the schema Qualified name for the string type The inner xml schema Characters which are not permitted in names. Pattern which matches any name; alphanumeric characters, with single embedded spaces. Pattern which matches a list of names, separated by semicolons. Pattern which matches any tag name; a name with a leading '#' character Pattern which matches a list of tag names, separated by semicolons; Pattern which matches any name or tag name; a name with a leading '#' character Pattern which matches a list of names or tag names, separated by semicolons; Pattern which matches a qualified name. Pattern which matches a property name Pattern which matches balanced parentheses in a string Pattern which matches balanced parentheses in a string Constructor Set of known tasks Mapping of task name to information about how to construct it Export the schema to a file Imports a schema from a file The XML file to import A deserialized from the XML file, or null if file doesn't exist Gets the bare name for the given script type Script type to find the name of Name of the schema type that matches the given script type Gets the qualified name for the given script type Script type to find the qualified name for Qualified name of the schema type that matches the given script type Gets the qualified name of the schema type for the given type of validation Qualified name for the corresponding schema type Creates the schema type representing the graph type Type definition for a graph Creates the schema type representing the agent type Type definition for an agent Creates the schema type representing the contents of agent type Type definition for an agent Creates the schema type representing the node type Type definition for a node Creates the schema type representing the body of the node type Type definition for a node Creates the schema type representing the aggregate type Type definition for an aggregate Creates the schema type representing the artifact type Type definition for an artifact Creates the schema type representing the report type Type definition for a report Creates the schema type representing the badge type Type definition for a badge Creates the schema type representing the label type Type definition for a label Creates the schema type representing a notifier Type definition for a notifier Creates the schema type representing an annotation Type definition for a notifier Creates the schema type representing an include type Type definition for an include directive Creates the schema type representing a parameter type Type definition for a parameter Creates the schema type representing a environment variable type Type definition for an environment variable property Creates the schema type representing a property type Type definition for a property Creates the schema type representing a regex type Type definition for a regex Creates the schema type representing a stringop type Type definition for a stringop element Creates the schema type representing the macro type Type definition for a node Creates the schema type representing the macro type Type definition for a node Creates the schema type representing the macro type Type definition for a node Creates the schema type representing a macro expansion Type definition for expanding a macro Creates the schema type representing a warning or error type Type definition for a warning Creates an element representing a conditional "Do" block, which recursively contains another type The base type for the do block to contain New schema element for the block Creates an element representing a conditional "Switch" block, which recursively contains another type The base type for the do block to contain New schema element for the block Creates an element representing a conditional "ForEach" block, which recursively contains another type The base type for the foreach block to contain New schema element for the block Constructs an XmlSchemaElement and initializes it with the given parameters Element name Type enumeration for the attribute A new XmlSchemaElement object Constructs an XmlSchemaElement and initializes it with the given parameters Element name Qualified name of the type for this element A new XmlSchemaElement object Constructs an XmlSchemaAttribute and initialize it with the given parameters The attribute name Type enumeration for the attribute Whether the attribute is required or optional A new XmlSchemaAttribute object Constructs an XmlSchemaAttribute and initialize it with the given parameters The attribute name Qualified name of the type for this attribute Whether the attribute is required or optional The new attribute Creates a simple type that is the union of two other types The name of the type List of valid types for the union A simple type which will match the given pattern Creates a simple type that matches a regex Name of the new type Regex pattern to match A simple type which will match the given pattern Create a schema type for the given user type. Currently only handles enumerations. Name for the new type CLR type information to create a schema type for Create a schema type for the given enum. Name for the new type CLR type information to create a schema type for Location of an element within a file The file containing this element The line number containing this element Constructor Implementation of XmlDocument which preserves line numbers for its elements The file being read Interface to the LineInfo on the active XmlReader Set to true if the reader encounters an error Logger for validation errors Private constructor. Use ScriptDocument.Load to read an XML document. Overrides XmlDocument.CreateElement() to construct ScriptElements rather than XmlElements Loads a script document from the given file The file to load The schema to validate against Logger for output messages If successful, the document that was read True if the document could be read, false otherwise Callback for validation errors in the document Standard argument for ValidationEventHandler Standard argument for ValidationEventHandler Implementation of XmlElement which preserves line numbers Location of the element within the file Constructor Stores information about a script function that has been declared Name of the function Element where the function was declared The total number of arguments Number of arguments that are required Maps an argument name to its type Constructor Name of the function Element containing the function definition Map of argument name to index Number of arguments that are required. Indices 0 to NumRequiredArguments - 1 are required. Extension methods for writing script error messages Utility method to log a script error at a particular location Utility method to log a script warning at a particular location Overridden version of which contains a list of tasks List of tasks to execute Constructor Reader for build graph definitions. Instanced to contain temporary state; public interface is through ScriptReader.TryRead(). Root directory to resolve relative paths against List of property name to value lookups. Modifications to properties are scoped to nodes and agents. EnterScope() pushes an empty dictionary onto the end of this list, and LeaveScope() removes one. ExpandProperties() searches from last to first lookup when trying to resolve a property name, and takes the first it finds. When declaring a property in a nested scope, we enter its name into a set for each parent scope which prevents redeclaration in an OUTER scope later. Subsequent NESTED scopes can redeclare it. The former is likely a coding error, since it implies that the scope of the variable was meant to be further out, whereas the latter is common for temporary and loop variables. Maps from a function name to its definition Set of scripts that have been previously read via an include element This is used to prevent duplicate reads of a script if it has been guarded against The current graph Arguments for evaluating the graph The name of the node if only a single node is going to be built, otherwise null. Schema for the script Logger for diagnostic messages The number of errors encountered during processing so far Private constructor. Use ScriptReader.TryRead() to read a script file. Root directory to resolve relative paths against Default properties available to the script Arguments passed in to the graph on the command line If a single node will be processed, the name of that node. Schema for the script Logger for diagnostic messages Try to read a script file from the given file. File to read from Root directory to resolve files to Arguments passed in to the graph on the command line Default properties available to the script Schema for the script Logger for output messages If a single node will be processed, the name of that node. True if the graph was read, false if there were errors Read the script from the given file File to read from Reads the contents of a graph The parent element to read from Push a new property scope onto the stack Pop a property scope from the stack Sets a property value in the current scope Element containing the property assignment. Used for error messages if the property is shadowed in another scope. Name of the property Value for the property If true, this property should be added to the parent scope and not the current scope. Cannot be used if the parent scope already contains a parameter with this name or if there is no parent scope Tries to get the value of a property Name of the property On success, contains the value of the property. Set to null otherwise. True if the property was found, false otherwise Read an include directive, and the contents of the target file Xml element to read the definition from Combine two paths without validating the result Find files matching a pattern Reads the definition of a graph option; a parameter which can be set by the user on the command-line or via an environment variable. Xml element to read the definition from Reads a property assignment. Xml element to read the definition from Reads a Regex assignment. Xml element to read the definition from Reads a StringOp element and applies string method. Xml element to read the definition from Reads a property assignment from an environment variable. Xml element to read the definition from Reads a macro definition Xml element to read the definition from Reads a list of macro arguments from an attribute The element containing the attributes Name of the attribute containing the arguments List of arguments to add to Reads a macro definition Xml element to read the definition from Reads the definition for an agent. Xml element to read the definition from Read the contents of an agent definition Xml element to read the definition from Reads the definition for an aggregate Xml element to read the definition from Reads the definition for an artifact Xml element to read the definition from Reads the definition for a report Xml element to read the definition from Reads the definition for a badge Xml element to read the definition from Reads the definition for a label Xml element to read the definition from Reads the definition for a node, and adds it to the given agent Xml element to read the definition from Reads the contents of a node element Xml element to read the definition from Reads a block element Xml element to read the definition from Delegate to read the contents of the element, if the condition evaluates to true Reads a "Switch" element Xml element to read the definition from Delegate to read the contents of the element, if the condition evaluates to true Reads a "ForEach" element Xml element to read the definition from Delegate to read the contents of the element, if the condition evaluates to true Reads an "Expand" element Xml element to read the definition from Delegate to read the contents of the element, if the condition evaluates to true Reads a task definition from the given element, and add it to the given list Xml element to read the definition from Reads the definition for an email notifier Xml element to read the definition from Reads a graph annotation Xml element to read the definition from Reads a warning from the given element, evaluates the condition on it, and writes it to the log if the condition passes. Xml element to read the definition from The diagnostic event type Reads an object name from its defining element. Outputs an error if the name is missing. Element to read the name for Output variable to receive the name of the object True if the object had a valid name (assigned to the Name variable), false if the name was invalid or missing. Checks that the given name does not already used to refer to a node, and print an error if it is. Xml element to read from Name of the alias True if the name was registered correctly, false otherwise. Resolve a list of references to a set of nodes Element used to locate any errors Sequence of names to look up Hashset of all the nodes included by the given names Resolve a list of references to a set of nodes Element used to locate any errors Sequence of names to look up Set of all the nodes included by the given names Checks that the given name is valid syntax The element that contains the name The name to check True if the name is valid Constructs a regex from a regex string and returns it The element that contains the regex The pattern to construct The regex if is valid, otherwise null Expands any properties and reads an attribute. Element to read the attribute from Name of the attribute Array of names, with all leading and trailing whitespace removed Expands any properties and reads a list of strings from an attribute, separated by semi-colon characters Array of names, with all leading and trailing whitespace removed Parse a map of annotations Split string with given separator into a list of strings while ignoring any separators within quotes An array of strings split by given separator while ignoring separators within quotes (if present). For example, if
separator='+' and value = "Path=\"D:\\Path+A\\To\\Dir\"+Path=\\"D:\\Path+B\\To\\Dir\"" This will return the following list of strings
[ "Path=\"D:\\Path+A\\To\\Dir\"", "Path=\"D:\\Path+B\\To\\Dir\"" ] While ensuring the strings are not split by the separator chars within the quotes.
Parse a map of annotations Reads an attribute from the given XML element, expands any properties in it, and parses it as a boolean. Element to read the attribute from Name of the attribute Default value if the attribute is missing The value of the attribute field Reads an attribute from the given XML element, expands any properties in it, and parses it as an integer. Element to read the attribute from Name of the attribute Default value for the integer, if the attribute is missing The value of the attribute field Reads an attribute from the given XML element, expands any properties in it, and parses it as an enum of the given type. The enum type to parse the attribute as Element to read the attribute from Name of the attribute Default value for the enum, if the attribute is missing The value of the attribute field Outputs an error message to the log and increments the number of errors, referencing the file and line number of the element that caused it. The script element causing the error Standard String.Format()-style format string Optional arguments Outputs a warning message to the log and increments the number of errors, referencing the file and line number of the element that caused it. The script element causing the error Standard String.Format()-style format string Optional arguments Evaluates the (optional) conditional expression on a given XML element via the If="..." attribute, and returns true if the element is enabled. The element to check True if the element's condition evaluates to true (or doesn't have a conditional expression), false otherwise Expand all the property references (of the form $(PropertyName)) in a string. The element containing the string. Used for diagnostic messages. The input string to expand properties in The expanded string Implementation of XmlDocument which preserves line numbers for its elements Writes a preprocessed build graph to a script file Graph to output The file to load Schema file for validation Writes this agent group out to a file, filtering nodes by a controlling trigger Agent to output The XML writer to output to Write this node to an XML writer Node to output The writer to output the node to A task invocation Line number in a source file that this task was declared. Optional; used for log messages. Name of the task Arguments for the task Constructor Write to an xml file Implementation of ScriptTaskParameter corresponding to a field in a parameter class Binding of a ScriptTask to a Script Type of the task to construct with this info Type to construct with the parsed parameters Map from name to parameter Constructor Name of the task Task class to create Class type of an object to be constructed and passed as an argument to the task class constructor Private constructor Environment for graph evaluation The stream being built Current changelist Current code changelist Whether the graph is being run on a build machine The current engine version Constructor The current branch Changelist being built Code changelist being built Tool to execute build automation scripts for UE projects, which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: - Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided ('Cook', 'Compile', 'Copy', 'Stage', 'Log', 'PakFile', etc...), and additional tasks may be added be declaring classes derived from AutomationTool.BuildTask in other UAT modules. - Nodes: A named sequence of tasks which are executed in order to produce outputs. Nodes may have dependencies on other nodes for their outputs before they can be executed. Declared with the 'Node' element. - Agents: A machine which can execute a sequence of nodes, if running as part of a build system. Has no effect when building locally. Declared with the 'Agent' element. - Triggers: Container for agents which should only be executed when explicitly triggered (using the -Trigger=... or -SkipTriggers command line argument). Declared with the 'Trigger' element. - Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Scripts may set properties with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Properties may be sourced from environment variables or the command line using the <EnvVar> and <Option> elements respectively. Any elements can be conditionally defined via the "If" attribute. A full grammar for conditions is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=... argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=... argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=... argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system based on the contents of the script generated by -Export=.... A schema for the known set of tasks can be generated by running UAT with the -Schema=... option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. Main entry point for the BuildGraph command Find all the tasks which are available from the loaded assemblies Mapping from task name to information about how to serialize it Whether to include just public tasks, or all the tasks in any loaded assemblies Reads the contents of the given token Contents of the token, or null if it does not exist Attempts to write an owner to a token file transactionally True if the lock was acquired, false otherwise Checks whether the given assembly is a publically distributed engine assembly. Assembly location True if the assembly is distributed publically Find all the nodes in the graph which are already completed The graph instance The temp storage backend which stores the shared state Builds all the nodes in the graph The graph instance Map from node to executor The temp storage backend which stores the shared state True if everything built successfully Helper class to execute a cleanup script on termination Build a node The graph to which the node belongs. Used to determine which outputs need to be transferred to temp storage. The node to build Map from node to executor The temp storage backend which stores the shared state Whether to write a banner before and after this node's log output True if the node built successfully, false otherwise. Gets an environment variable, returning null if it's not set or empty. Gets an environment variable as an integer, returning null if it's not set or empty. Generate HTML documentation for all the tasks Map of task name to implementation Output file Writes documentation to a UDN file Map of name to script task Map of field name to XML documenation element The output file to write to Writes documentation to an HTML file Map of name to script task Map of field name to XML documenation element The output file to write to Converts an XML documentation node to markdown The node to read Text in markdown format Legacy command name for compatibility. Used to pass information to tasks about the currently running job. The current node name The command that is running the current job. Constructor The command running the current job Constructor The current node being executed The command running the current job Update the build version Builds the Windows editor Builds the game target Creates a DDC pack file for the supported platforms Copy all the build artifacts to the output folder Attribute to mark parameters to a task, which should be read as XML attributes from the script file. Whether the parameter can be omitted Sets additional restrictions on how this field is validated in the schema. Default is to allow any valid field type. Attribute used to associate an XML element name with a parameter block that can be used to construct tasks Name of the XML element that can be used to denote this class Type to be constructed from the deserialized element Constructor Name of the XML element used to denote this object Type to be constructed from this object Proxy to handle executing multiple tasks simultaneously (such as compile tasks). If a task supports simultaneous execution, it can return a separate executor an executor instance from GetExecutor() callback. If not, it must implement ExecuteAsync(). Adds another task to this executor Task to add True if the task could be added, false otherwise ExecuteAsync all the tasks added to this executor. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Whether the task succeeded or not. Exiting with an exception will be caught and treated as a failure. Base class for all custom build tasks Accessor for the default log interface Line number in a source file that this task was declared. Optional; used for log messages. ExecuteAsync this node. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Whether the task succeeded or not. Exiting with an exception will be caught and treated as a failure. Creates a proxy to execute this node. New proxy instance if one is available to execute this task, otherwise null. Output this task out to an XML writer. Writes this task to an XML writer, using the given parameters object. Writer for the XML schema Parameters object that this task is constructed with Returns a string used for trace messages Gets the name of this task for tracing The trace name Get properties to include in tracing info The scope to add properties to Prefix for metadata entries Get properties to include in tracing info The scope to add properties to Prefix for metadata entries Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Adds tag names from a filespec A filespec, as can be passed to ResolveFilespec Tag names from this filespec Enumerates tag names from a list List of tags separated by semicolons Tag names from this filespec Resolves a single name to a file reference, resolving relative paths to the root of the current path. Name of the file Fully qualified file reference Resolves a directory reference from the given string. Assumes the root directory is the root of the current branch. Name of the directory. May be null or empty. The resolved directory Finds or adds a set containing files with the given tag Map of tag names to the set of files they contain The tag name to return a set for. A leading '#' character is required. Set of files Resolve a list of files, tag names or file specifications separated by semicolons. Supported entries may be: a) The name of a tag set (eg. #CompiledBinaries) b) Relative or absolute filenames c) A simple file pattern (eg. Foo/*.cpp) d) A full directory wildcard (eg. Engine/...) Note that wildcards may only match the last fragment in a pattern, so matches like "/*/Foo.txt" and "/.../Bar.txt" are illegal. The default directory to resolve relative paths to List of files, tag names, or file specifications to include separated by semicolons. Mapping of tag name to fileset, as passed to the ExecuteAsync() method Set of matching files. Resolve a list of files, tag names or file specifications separated by semicolons as above, but preserves any directory references for further processing. The default directory to resolve relative paths to List of files, tag names, or file specifications to include separated by semicolons. Set of patterns to apply to directory searches. This can greatly speed up enumeration by earlying out of recursive directory searches if large directories are excluded (eg. .../Intermediate/...). Mapping of tag name to fileset, as passed to the ExecuteAsync() method Set of matching files. Resolve a list of files, tag names or file specifications as above, but preserves any directory references for further processing. The default directory to resolve relative paths to List of files, tag names, or file specifications to include separated by semicolons. Set of patterns to apply to directory searches. This can greatly speed up enumeration by earlying out of recursive directory searches if large directories are excluded (eg. .../Intermediate/...). Mapping of tag name to fileset, as passed to the ExecuteAsync() method Set of matching files. Splits a string separated by semicolons into a list, removing empty entries The input string Array of the parsed items Name of the environment variable containing cleanup commands Name of the environment variable containing lease cleanup commands Add cleanup commands to run after the step completes Lines to add to the cleanup script Whether to add the commands to run on lease termination Name of the environment variable containing a file to write Horde graph updates to Updates the graph currently used by Horde Context for the current job that is being executed Legacy implementation of which operates synchronously ExecuteAsync this node. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Whether the task succeeded or not. Exiting with an exception will be caught and treated as a failure. Parameters for a task that purges data from a symbol store after a given age The target platform to age symbols for. The symbol server directory. Number of days worth of symbols to keep. The root of the build directory to check for existing buildversion named directories. A substring to match in directory file names before deleting symbols. This allows the "age store" task to avoid deleting symbols from other builds in the case where multiple builds share the same symbol server. Specific use of the filter value is determined by the symbol server structure defined by the platform toolchain. Task that strips symbols from a set of files. This task is named after the AGESTORE utility that comes with the Microsoft debugger tools SDK, but is actually a separate implementation. The main difference is that it uses the last modified time rather than last access time to determine which files to delete. Parameters for this task Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Task wrapper methods Task wrapper methods Task that strips symbols from a set of files Platform to clean Path to symbol store Number of days to keep The root of the build directory to check for existing buildversion named directories A substring to match in directory file names before deleting symbols Task which runs a UE commandlet The commandlet name to execute. The project to run the editor with. Arguments to be passed to the commandlet. The editor executable to use. Defaults to the development UnrealEditor executable for the current platform. The minimum exit code, which is treated as an error. Runs another UAT command The execution state Name of the command to run Arguments for the command If non-null, instructs telemetry from the command to be merged into the telemetry for this UAT instance with the given prefix. May be an empty (non-null) string. Runs another UAT command Name of the command to run Arguments for the command If non-null, instructs telemetry from the command to be merged into the telemetry for this UAT instance with the given prefix. May be an empty (non-null) string. Compiles a target The target to compile The configuration to compile The platform to compile for The project to compile with Additional arguments for UnrealBuildTool Whether to allow using XGE for compilation Whether to allow cleaning this target. If unspecified, targets are cleaned if the -Clean argument is passed on the command line Build products from the compile Compile a C# project The C# project files to compile. The platform to compile. The configuration to compile. The target to build. Properties for the command. Additional options to pass to the compiler. Only enumerate build products -- do not actually compile the projects. Runs a command using dotnet. Command-line arguments. Base directory for running the command. Environment variables to set. File to read environment variables from. The minimum exit code, which is treated as an error. Override path to dotnet executable. ExecuteAsync a task instance Updates the current engine version ExecuteAsync an external program Executable to spawn. Arguments for the newly created process. Working directory for spawning the new task. Environment variables to set. File to read environment from. Write output to the log. The minimum exit code which is treated as an error. Strips symbols from a set of files. The platform toolchain to strip binaries. The directory to find files in. Output directory for the stripped files. Defaults to the input path, overwriting the input files. Parameters for an AWS CLI task Role to assume Name of this session Duration of the token in seconds Environment variables File to read environment variables from Output file for the new environment Assumes an AWS role. Construct an AWS CLI task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a AWS ECS deploy task Task definition file to use Docker image to set in new task definition (will replace %%DOCKER_PATTERN%% with this value) App version to set in new task definition (will replace %%VERSION%% with this value) Cluster ARN representing AWS ECS cluster to operate on Service name to update and deploy to Environment variables File to read environment from Write output to the log Creates a new AWS ECS task definition and updates the ECS service to use this new revision of the task def Parameters for this task Construct an AWS ECS deploy task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a spawn task Arguments for the newly created process. Environment variables File to read environment from Write output to the log Spawns AWS CLI and waits for it to complete. Construct an AWS CLI task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a CheckMarkdown task Optional filter to be applied to the list of input files. Checks that all markdown links between the given files are valid. Constructor Parameters for this task Parameters for a task which runs a UE commandlet The commandlet name to execute. The project to run the editor with. Arguments to be passed to the commandlet. The editor executable to use. Defaults to the development UnrealEditor executable for the current platform. The minimum exit code, which is treated as an error. Spawns the editor to run a commandlet. Construct a new CommandletTask. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that calls another UAT command The command name to execute. Arguments to be passed to the command. If non-null, instructs telemetry from the command to be merged into the telemetry for this UAT instance with the given prefix. May be an empty (non-null) string. Invokes an AutomationTool child process to run the given command. Parameters for this task Construct a new CommandTask. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Gets the name of this trace Name of the trace Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a compile task The target to compile. The configuration to compile. The platform to compile for. The project to compile with. Additional arguments for UnrealBuildTool. Whether to allow using XGE for compilation. No longer necessary as UnrealBuildTool is run to compile targets. Whether to allow UBT to use all available cores, when AllowXGE is disabled. Whether to allow cleaning this target. If unspecified, targets are cleaned if the -Clean argument is passed on the command line. Global flag passed to UBT that can be used to generate target files without fully compiling. Tag to be applied to build products of this task. Executor for compile tasks, which can compile multiple tasks simultaneously List of targets to compile. As well as the target specifically added for this task, additional compile tasks may be merged with it. Mapping of receipt filename to its corresponding tag name Whether to allow using XGE for this job Whether to allow using all available cores for this job, when bAllowXGE is false Should SkipBuild be passed to UBT so that only .target files are generated. Constructor Initial task to execute Adds another task to this executor Task to add True if the task could be added, false otherwise ExecuteAsync all the tasks added to this executor. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Whether the task succeeded or not. Exiting with an exception will be caught and treated as a failure. Compiles a target with UnrealBuildTool. Parameters for this task Resolved path to Project file Construct a compile task Parameters for this task Resolve the path to the project file ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Get properties to include in tracing info The span to add metadata to Prefix for all metadata keys Get properties to include in tracing info The span to add metadata to Prefix for all metadata keys Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that runs the cooker Project file to be cooked. The cook platform to target (for example, Windows). List of maps to be cooked, separated by '+' characters. Additional arguments to be passed to the cooker. Additional arguments to be passed to the cooker. Optional path to what editor executable to run for cooking. Whether to tag the output from the cook. Since cooks produce a lot of files, it can be detrimental to spend time tagging them if we don't need them in a dependent node. Tag to be applied to build products of this task. Cook a selection of maps for a certain platform Parameters for the task Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a copy task Optional filter to be applied to the list of input files. The pattern(s) to copy from (for example, Engine/*.txt). The directory to copy to. Optional pattern(s) to exclude from the copy for example, Engine/NoCopy*.txt) Whether or not to overwrite existing files. Tag to be applied to build products of this task. Whether or not to throw an error if no files were found to copy Copies files from one directory to another. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Extension methods Copy files from one location to another The files to copy Whether or not to overwrite existing files. Parameters for a . Name of the artifact The artifact type. Determines the permissions and expiration policy for the artifact. Description for the artifact. Will be shown through the Horde dashboard. Base path for the uploaded files. All the tagged files must be under this directory. Defaults to the workspace root directory. Stream containing the artifact. Commit for the uploaded artifact. Files to include in the artifact. Queryable keys for this artifact, separated by semicolons. Other metadata for the artifact, separated by semicolons. Whether to add aliases for symbol files Whether to reuse blobs from the previous artifact Uploads an artifact to Horde Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Parameters for a . Name of the artifact An optional override of the id of the artifact as presented in Horde, defaults to name if not set An identifier to set for a group of builds that are compatible The artifact type. Determines the permissions and expiration policy for the artifact. Description for the artifact. Will be shown through the Horde dashboard. The platform the artifact is created for The uproject this artifact is created for Override the project name, defaults to the filename of the uproject The platform the artifact is created for The platform the artifact is created for The access token to use Base path for the uploaded files. All the tagged files must be under this directory. Defaults to the workspace root directory. Stream containing the artifact. Commit for the uploaded artifact. Files to include in the artifact. Other metadata for the artifact, separated by semicolons. Use key=value for each field. Force the blobs to be uploaded no matter if they exist or not The streamid used for your mainline, used to build content as patches on top of this branch if no other baselines exist. Set to upload more blobs in parallel, defaults to number of cores. Set to -1 to go as wide as possible. Enable to use multipart endpoints if valuable Set the explicit http version to use. None to use http handshaking. Verify the contents after upload, essentially downloads the entire build to make sure all data was uploaded correctly. Takes a bit of time and is generally not needed but can be useful to detect issues in the upload. Verbose logging output, can be useful to find out more information when an issue has occured. Increase the number of worker threads used by zen, may cause machine to be less responsive but will generally improve upload times Enable to create an Unreal Insights trace of the upload process Uploads an artifact to Cloud DDC Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Media type for compact binary Media type for compressed buffers Parameters for a task that compiles a C# project The C# project file to compile. Using semicolons, more than one project file can be specified. The configuration to compile. The platform to compile. The target to build. Properties for the command Additional options to pass to the compiler. Only enumerate build products -- do not actually compile the projects. Tag to be applied to build products of this task. Tag to be applied to any non-private references the projects have. (for example, those that are external and not copied into the output directory). Whether to use the system toolchain rather than the bundled UE SDK Compiles C# project files, and their dependencies. Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Find all the build products created by compiling the given project file Initial project file to read. All referenced projects will also be read. Mapping of property name to value Receives a set of build products on success Receives a set of non-private references on success Read a project file, plus all the project files it references. Project file to read Mapping of property name to value for the initial project True if the projects were read correctly, false (and prints an error to the log) if not Output from compiling a csproj file Empty instance of CsCompileOutput Output binaries Referenced output Constructor Merge all outputs from this project Merges two outputs together Extension methods for csproj compilation Parameters for a copy task List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set List of directory names Whether to delete empty directories after deleting the files. Defaults to true. Whether or not to use verbose logging. Delete a set of files. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Deletes a directory, if it's empty The directory to check True if the directory was deleted, false if not Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a DeployTool task Identifier for the tool Settings file to use for the deployment. Should be a JSON file containing server name and access token. Version number for the new tool Duration over which to roll out the tool, in minutes. Whether to create the deployment as paused Zip file containing files to upload Directory to upload for the tool Deploys a tool update through Horde Options for a new deployment Construct a Helm task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Docker-Build task Base directory for the build Files to be staged before building the image Path to the Dockerfile. Uses the root of basedir if not specified. Path to a .dockerignore. Will be copied to basedir if specified. Use BuildKit in Docker Set ulimit in build Type of progress output (--progress) Tag for the image Set the target build stage to build (--target) Custom output exporter. Requires BuildKit (--output) Optional arguments List of additional directories to overlay into the staged input files. Allows credentials to be staged, etc... Environment variables to set File to read environment variables from Spawns Docker and waits for it to complete. Construct a Docker task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Docker-Compose task Path to the docker-compose file Arguments for the command Spawns Docker and waits for it to complete. Parameters for this task Construct a Docker-Compose task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Docker-Compose task Path to the docker-compose file Arguments for the command Spawns Docker and waits for it to complete. Construct a Docker-Compose task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Docker-Build task Repository Source image to push Name of the target image Additional environment variables File to read environment from Whether to login to AWS ECR Path to a json file for authentication to the repository for pushing. Spawns Docker and waits for it to complete. Construct a Docker task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Docker task Docker command line arguments Environment variables to set File to read environment variables from Base directory for running the command Spawns Docker and waits for it to complete. Parameters for this task Construct a Docker task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Resolve path to Docker executable by using the optional env var "UE_DOCKER_EXEC_PATH" Will default to "docker" if not set. Allows supporting alternative Docker implementations such as Podman. Path to Docker executable Parameters for a DotNet task Docker command line arguments Base directory for running the command Environment variables to set File to read environment variables from The minimum exit code, which is treated as an error. Override path to dotnet executable Spawns Docker and waits for it to complete. Construct a Docker task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that compiles a C# project List of file specifications separated by semicolon (default is ...) The configuration to compile. The configuration to compile. The configuration to compile. The file to write to Compiles C# project files, and their dependencies. Parameters for the task Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for Parameters for a Git-Checkout task Directory for the repository The remote to add The branch to check out on the remote Configuration file for the repo. This can be used to set up a remote to be fetched and/or provide credentials. Clones a Git repository into a local path. Parameters for this task Construct a Git task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Runs a git command Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Git task Git command line arguments Base directory for running the command The minimum exit code, which is treated as an error. Spawns Git and waits for it to complete. Construct a Git task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Helm task Helm command line arguments Name of the release The Kubernetes namespace The kubectl context The kubectl config file to use Values to set for running the chart Values to set for running the chart Environment variables to set File to parse environment variables from Additional arguments Base directory for running the command Spawns Helm and waits for it to complete. Construct a Helm task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a . Name for the report Where to display the report Where to show the report Text to be displayed Creates a Horde report file, which will be displayed on the dashboard with any job running this task. Parameters for this task. Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a . File to update with secrets Text to update with secrets Pairs of strings and secret names to expand in the text file, in the form SOURCE_TEXT=secret-name;SOURCE_TEXT_2=secret-name-2. If not specified, secrets embedded inline in the text will be expanded from {{secret-name.value}} strings. Replaces strings in a text file with secrets obtained from Horde Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a . Name of the environment variable to set Name of the secret to fetch Replaces strings in a text file with secrets obtained from Horde Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a Kubectl task Command line arguments Base directory for running the command Spawns Kubectl and waits for it to complete. Construct a Kubectl task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for the log task Message to print out. If specified, causes the given list of files to be printed after the given message. If specified, causes the contents of the given files to be printed out. Print a message (and other optional diagnostic information) to the output log. Parameters for the task Constructor. Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a ModifyConfig task Path to the config file The section name to modify The property name to set The property value to set Tag to be applied to the extracted files Modifies a config file Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a ModifyJsonValue task json file paths which will be modified json key path to find in each file new value to apply Modifies json files by setting a value specified in the key path Create a new ModifyJsonValue. Parameters for this task. Placeholder comment Placeholder comment Placeholder comment Placeholder comment Parameters for a move task Optional filter to be applied to the list of input files. The pattern(s) to copy from (for example, Engine/*.txt). The directory to copy to. Optionally if files should be overwritten, defaults to false. Tag to be applied to build products of this task. Whether or not to throw an error if no files were found to copy Moves files from one directory to another. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that executes MSBuild The C# project file to compile. Using semicolons, more than one project file can be specified. The configuration to compile. The platform to compile. Additional options to pass to the compiler. The MSBuild output verbosity. Executes MsBuild Parameters for the task Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that notarizes a dmg via the apple notarization process Path to the dmg to notarize primary bundle ID Apple ID Username The keychain ID When true the notarization ticket will be stapled Parameters for the task Constructor. Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a NuGetLicenseCheck task Base directory for running the command Specifies a list of packages to ignore for version checks, separated by semicolons. Optional version number may be specified with 'name@version' syntax. Directory containing allowed licenses Path to a csv file to write with list of packages and their licenses Override path to dotnet executable Verifies which licenses are in use by nuget dependencies Construct a NuGetLicenseCheckTask task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a spawn task Executable to spawn. Whether to execute on lease termination Spawns an external executable and waits for it to complete. Construct a spawn task Parameters for the task Parameters for a task that runs the cooker List of files, wildcards, and tag sets to add to the pak file, separated by ';' characters. PAK file to output. Path to a Response File that contains a list of files to add to the pak file -- instead of specifying them individually. Directories to rebase the files relative to. If specified, the shortest path under a listed directory will be used for each file. Script that gives the order of files. Encryption keys for this pak file. Whether to compress files. Additional arguments to pass to UnrealPak. Tag to be applied to build products of this task. Creates a PAK file from a given set of files. Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Find the shortest relative path of the given file from a set of base directories. Full path to a file Possible base directories The shortest relative path, or null if the file is not under any of them Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters to query for all the targets in a project Path to the project file to query Path to the output file to receive information about the targets Write out all targets, even if a default is specified in the BuildSettings section of the Default*.ini files. Tag to be applied to build products of this task. Runs UBT to query all the targets for a particular project Parameters for this task Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for . Seed for the data generation The size of each file. Number of files to write. Whether to generate different data for each output file. Output directory Optional filter to be applied to the list of input files. Creates files containing random data in the specified output directory. Used for generating test data for the temp storage system. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for the submit task The description for the submitted changelist. The files to reconcile The directories to reconcile, semi colon delimited, relative p4 syntax The workspace name. If specified, a new workspace will be created using the given stream and root directory to submit the files. If not, the current workspace will be used. The stream for the workspace -- defaults to the current stream. Ignored unless the Workspace attribute is also specified. Branch for the workspace (legacy P4 depot path). May not be used in conjunction with Stream. Root directory for the stream. If not specified, defaults to the current root directory. Force the submit to happen -- even if a resolve is needed (always accept current version). Allow verbose P4 output (spew). Runs a reconcile preview, does not submit. Creates a new changelist and reconciles a set of files to submit to a Perforce stream. Parameters for the task Construct a version task Parameters for this task Execute the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a copy task The file or files to rename. The current file name, or pattern to match (for example, *.txt). Should not include any path separators. The new name for the file(s). Should not include any path separators. Tag to be applied to the renamed files. Renames a file, or group of files. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a . Stream containing the artifact Change number for the artifact Maximum commit for the artifact Name of the artifact The artifact type. Determines the permissions and expiration policy for the artifact. Keys for the artifact Output directory for Append the environment variable UE_HORDE_JOBID to the artifact query Retrieves an artifact from Horde Constructor. Parameters for this task. Parameters for a . Stream containing the artifact Change number for the artifact Requires that the current synced commit is the same as the artifacts commit Name of the artifact The artifact type. Determines the permissions and expiration policy for the artifact. Keys for the artifact Output directory for The platform the artifact is created for The path to the uproject this artifact is created for The platform the artifact is created for The platform the artifact is created for The access token to use Set this to use the latest match if multiple artifacts are possible matches Enable to use multipart endpoints if valuable Set the explicit http version to use. None to use http handshaking. Increase the number of worker threads used by zen, may cause machine to be less responsive but will generally improve download times Enable to create an Unreal Insights trace of the download process Retrieves an artifact from Cloud DDC Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Parameters for the Tag Receipt task. Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons. Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace. Task that tags build products and/or runtime dependencies by reading from *.target files. Constructor Parameters to select which files to search ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are required by this task The tag names which are required by this task Find all the referenced tags from tasks in this task The tag names which are produced/modified by this task Extension methods Sanitize the given receipt files, removing any files that don't exist in the current workspace Parameters for the version task The changelist to set in the version files. The engine compatible changelist to set in the version files. The branch string. The build version string. The URL for a running continuous integration job. Whether to set the IS_LICENSEE_VERSION flag to true. Whether to set the ENGINE_IS_PROMOTED_BUILD flag to true. If set, do not write to the files -- just return the version files that would be updated. Useful for local builds. Tag to be applied to build products of this task. Updates the local version files (Engine/Source/Runtime/Launch/Resources/Version.h, Engine/Build/Build.version, and Engine/Source/Programs/Shared/Metadata.cs) with the given version information. Construct a version task Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that signs a set of files. List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set. Optional description for the signed content Tag to be applied to build products of this task. If true, the calls to the signing tool will be performed in parallel. Signs a set of executable files with an installed certificate. Parameters for this task Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a spawn task Executable to spawn. Arguments for the newly created process. Working directory for spawning the new task Environment variables to set File to read environment from Write output to the log The minimum exit code, which is treated as an error. Base class for tasks that run an external tool ExecuteAsync a command Parses environment from a property and file Parse environment from a string Spawns an external executable and waits for it to complete. Parameters for this task Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for the staging task The project that this target belongs to. Name of the target to stage. Platform to stage. Configuration to be staged. Architecture to be staged. Directory that the receipt files should be staged to. Whether to overwrite existing files. Tag to be applied to build products of this task. Stages files listed in a build receipt to an output directory. Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that strips symbols from a set of files The platform toolchain to strip binaries. The directory to find files in. List of file specifications separated by semicolons (for example, Engine/.../*.pdb), or the name of a tag set. Output directory for the stripped files. Defaults to the input path, overwriting the input files. Tag to be applied to build products of this task. Strips debugging information from a set of files. Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for the submit task The description for the submitted changelist. The files to submit. The Perforce file type for the submitted files (for example, binary+FS32). The workspace name. If specified, a new workspace will be created using the given stream and root directory to submit the files. If not, the current workspace will be used. The stream for the workspace -- defaults to the current stream. Ignored unless the Workspace attribute is also specified. Branch for the workspace (legacy P4 depot path). May not be used in conjunction with Stream. Root directory for the stream. If not specified, defaults to the current root directory. Whether to revert unchanged files before attempting to submit. Force the submit to happen -- even if a resolve is needed (always accept current version). Allow verbose P4 output (spew). Creates a new changelist and submits a set of files to a Perforce stream. Construct a version task Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that uploads symbols to a symbol server The platform toolchain required to handle symbol files. List of output files. PDBs will be extracted from this list. Output directory for the compressed symbols. Name of the product for the symbol store records. Name of the Branch to base all the depot source files from. Used when IndexSources is true (may be used only on some platforms). Changelist to which all the depot source files have been synced to. Used when IndexSources is true (may be used only on some platforms). BuildVersion associated with these symbols. Used for clean-up in AgeStore by matching this version against a directory name in a build share. Whether to include the source code index in the uploaded symbols. When enabled, the task will generate data required by a source server (only some platforms and source control servers are supported). The source server allows debuggers to automatically fetch the matching source code when debbugging builds or analyzing dumps. Filter for the depot source files that are to be indexed. It's a semicolon-separated list of perforce filter e.g. Engine/....cpp;Engine/....h. It may also be a name of a previously defined tag e.g. "#SourceFiles Used when IndexSources is true (may be used only on some platforms). List of file path mappings to be applied during source indexing. It is needed only when using VFS (Virtual File System) feature when compiling the binary. VFS replaces the real local paths used with standardized paths like Z:\UEVFS\... Since these virtualized paths don't match paths used by the local workspace, we need to map them manually so that paths in object files/symbols matched the data we have in source indexing. It's a semicolon-separated list of path assignments e.g. "[Root]\Samples\Games\SampleGame=Z:\UEVFS\SampleGame;[Root]=Z:\UEVFS\Root" [Root] will be replaced with Unreal.RootDirectory. You need to ensure that the mapping used here matches the conventions used by Unreal Build Tool. We may improve it in the future but current the VFS mapping used during compilation is not available outside of UBT. Task that strips symbols from a set of files. Parameters for this task Construct a spawn task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for the Tag Receipt task. Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons. Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace. Path to the project folder, used to expand $(ProjectDir) properties in receipt files. Defaults to the Engine directory for the current workspace -- DEPRECATED. Whether to tag the Build Products listed in receipts. Which type of Build Products to tag (see TargetReceipt.cs - UnrealBuildTool.BuildProductType for valid values). Whether to tag the Runtime Dependencies listed in receipts. Which type of Runtime Dependencies to tag (see TargetReceipt.cs - UnrealBuildTool.StagedFileType for valid values). Name of the tag to apply. Task that tags build products and/or runtime dependencies by reading from *.target files. Parameters to this task The type of build products to enumerate. May be null. The type of staged files to enumerate. May be null, Constructor Parameters to select which files to search ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are required by this task The tag names which are required by this task Find all the referenced tags from tasks in this task The tag names which are produced/modified by this task Extension methods Task that tags build products and/or runtime dependencies by reading from *.target files. Parameters for the Tag task. Set the base directory to resolve relative paths and patterns against. If set, any absolute patterns (for example, /Engine/Build/...) are taken to be relative to this path. If not, they are taken to be truly absolute. Set of files to work from, including wildcards and tag names, separated by semicolons. If set, resolved relative to BaseDir, otherwise resolved to the branch root directory. Set of text files to add additional files from. Each file list should have one file per line. Patterns to filter the list of files by, including tag names or wildcards. If set, may include patterns that apply to the base directory. If not specified, defaults to all files. Set of patterns to exclude from the matched list. May include tag names of patterns that apply to the base directory. Name of the tag to apply. Applies a tag to a given set of files. The list of files is found by enumerating the tags and file specifications given by the 'Files' parameter. From this list, any files not matched by the 'Filter' parameter are removed, followed by any files matched by the 'Except' parameter. Constructor Parameters to select which files to match ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Add rules matching a given set of patterns to a file filter. Patterns are added as absolute paths from the root. The base directory for relative paths. List of patterns to add, separated by semicolons. Mapping of tag name to a set of files. List of rules, suitable for adding to a FileFilter object Output this task out to an XML writer. Find all the tags which are modified by this task The tag names which are read by this task Find all the referenced tags from tasks in this task The tag names which are modified by this task Parameters for a zip task Path to the zip file to extract. Output directory for the extracted files. Whether or not to use the legacy unzip code. Whether or not to overwrite files during unzip. Tag to be applied to the extracted files. Extract files from a zip archive. Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names \to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a wait task Number of seconds to wait. Waits a defined number of seconds. Construct a wait task Parameters for the task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for task Json file(s) which will be modified Json element to set in each file. Syntax for this string is a limited subset of JsonPath notation, and may support object properties and array indices. Any array indices which are omitted or out of range will add a new element to the array (eg. '$.foo.bar[]' will add an element to the 'bar' array in the 'foo' object). New value to set. May be any value JSON value (string, array, object, number, boolean or null). Modifies json files by setting a value specified in the key path Create a new ModifyJsonValue. Parameters for this task. Placeholder comment Placeholder comment Placeholder comment Placeholder comment Parameters for a . Path to the file to write. Optional, whether or not to append to the file rather than overwrite. The text to write to the file. If specified, causes the given list of files to be printed after the given message. Tag to be applied to build products of this task. Writes text to a file. Parameters for this task. Constructor. Parameters for this task. ExecuteAsync the task. Information about the current job. Set of build products produced by this node. Mapping from tag names to the set of files they include. Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Enumeration of different storage options for snapshots. A reserved non-valid storage type for snapshots. Snapshot stored in cloud repository such as Unreal Cloud DDC. Snapshot stored in builds repository such as Unreal Cloud DDC. Snapshot stored in a zenserver. Snapshot stored as a file on disk. Parameters for a task that exports an snapshot from ZenServer The project from which to export the snapshot The target platform(s) to export the snapshot for The metadata to associate with the snapshot A file to read with information about the snapshot that should be used as a base when exporting this new snapshot A file to create with information about the snapshot that was exported The type of destination to export the snapshot to (cloud, ...) The identifier to use when exporting to a destination The host name to use when exporting to a cloud destination The host name to use when writing a snapshot descriptor for a cloud destination The target platform to use when writing a snapshot descriptor The http version to use when exporting to a cloud destination The http version to use when writing a snapshot descriptor for a cloud destination The namespace to use when exporting to a cloud destination A custom bucket name to use when exporting to a cloud destination The host name to use when exporting to a zen destination The directory to use when exporting to a file destination The filename to use when exporting to a file destination Optional. Where to look for the ue.projectstore The pattern {Platform} can be used for exporting multiple platforms at once. Optional. Whether to force export of data even if the destination claims to have them. Optional. Whether to entirely bypass the exporting of data and write a snapshot descriptor as if the data had been exported. Exports an snapshot from Zen to a specified destination. Metadata about a snapshot Name of the snapshot Storage type used for the snapshot Target platform for this snapshot For cloud snapshots, the host they are stored on. For cloud snapshots, the namespace they are stored in. For cloud snapshots, the bucket they are stored in. For cloud snapshots, the key they are stored in. For file snapshots, the directory it is stored in. For file snapshots, the filename (not including path) that they are stored in. A collection of one or more snapshot descriptors The list of snapshots contained within this collection. Parameters for the task Constructor. Parameters for this task Gets the assumed path to where Zen should exist Ensures that ZenServer is running on this current machine. This is needed before running any oplog commands This passes the sponsor'd process Id to launch zen. This ensures that zen does not live longer than the lifetime of a particular a process that needs Zen to be running ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that exports an snapshot from ZenServer The type of destination to import from to (cloud, file...) comma separated full path to the oplog dir to import into the local zen server Files="Path1,Path2" The project from which to import for The name of the newly created Zen Project we will be importing into The target platform to import the snapshot for Root dir for the UE project. Used to derive the Enging folder and the Project folder The name of the imported oplog The host URL for the zen server we are importing from The host port for the zen server we are importing from The cloud URL to import from what namespace to use when importing from cloud what bucket to use when importing from cloud What key to use when importing from cloud Imports an oplog from Zen to a specified destination. Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that imports snapshots into ZenServer The project into which snapshots should be imported A file to read with information about the snapshots to be imported A JSON blob with information about the snapshots to be imported Optional. Where to look for the ue.projectstore file. The pattern {Platform} can be used for importing multiple platforms at once. Optional. If true, force import of the oplog (corresponds to --force on the Zen command line). Optional. If true, import oplogs asynchronously (corresponds to --async on the Zen command line). Optional. Remote zenserver host to import snapshots into. Optional. Port on remote host which zenserver is listening on. Optional. Destination project ID to import snapshots into. Imports a snapshot from a specified destination to Zen. Enumeration of different storage options for snapshots. A reserved non-valid storage type for snapshots. Snapshot stored in cloud repositories such as Unreal Cloud DDC. Snapshot stored in a zenserver. Snapshot stored as a file on disk. Snapshot stored in Unreal Cloud builds API. Metadata about a snapshot Name of the snapshot Storage type used for the snapshot Target platform for this snapshot For cloud or Zen snapshots, the host they are stored on. For Zen snapshots, the project ID to import from. For Zen snapshots, the oplog ID to import from. For cloud snapshots, the namespace they are stored in. For cloud snapshots, the bucket they are stored in. For cloud snapshots, the key they are stored in. For builds snapshots, the builds ID that identifies them. For file snapshots, the directory it is stored in. For file snapshots, the filename (not including path) that they are stored in. A collection of one or more snapshot descriptors The list of snapshots contained within this collection. Parameters for the task Constructor. Parameters for this task. Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Parameters for a task that launches ZenServer The project for which to launch ZenServer Launches ZenServer Ensures that ZenServer is running on this current machine. This is needed before running any oplog commands This passes the sponsor'd process Id to launch zen. This ensures that zen does not live longer than the lifetime of a particular a process that needs Zen to be running Parameters for the task Constructor. Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a task that calls zen mirror to write the Zen oplog onto disk The project from which to export the snapshot The target platform to mirror the snapshot for The path on the local disk to which the data will be mirrored If empty then the path will be set to the %Project%\Saved\Cooked\%Platform% directory. Exports an snapshot from Zen to a specified destination. Parameters for the task Constructor. Parameters for this task Gets the assumed path to where Zen should exist Ensures that ZenServer is running on this current machine. This is needed before running any oplog commands This passes the sponsor'd process Id to launch zen. This ensures that zen does not live longer than the lifetime of the a process that needs Zen. ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Parameters for a zip task The directory to read compressed files from. List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat), or the name of a tag set. Relative paths are taken from FromDir. List of files that should have an executable bit set. The zip file to create. Tag to be applied to the created zip file. Compresses files into a zip archive. Parameters for this task Constructor Parameters for this task ExecuteAsync the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task Stores the name of a temp storage block Name of the node Name of the output from this node Default constructor, for XML serialization. Construct a temp storage block Name of the node Name of the node's output Tests whether two temp storage blocks are equal The object to compare against True if the blocks are equivalent Returns a hash code for this block name Hash code for the block Returns the name of this block for debugging purposes Name of this block as a string Information about a single file in temp storage The path of the file, relative to the engine root. Stored using forward slashes. The last modified time of the file, in UTC ticks since the Epoch. Length of the file Digest for the file. Not all files are hashed. Default constructor, for XML serialization. Constructor File to be added Root directory to store paths relative to Compare stored for this file with the one on disk, and output an error if they differ. Root directory for this branch True if the files are identical, false otherwise Compare stored for this file with the one on disk, and output an error if they differ. Root directory for this branch Message describing the difference True if the files are identical, false otherwise Whether we should compare timestamps for this file. Some build products are harmlessly overwritten as part of the build process, so we flag those here. True if we should compare the file's timestamp, false otherwise Determines whether to generate a digest for the current file True to generate a digest for this file, rather than relying on timestamps Determine whether to serialize the digest property Gets a local file reference for this file, given a root directory to base it from. The local root directory Reference to the file Information about a single file in temp storage Name of this file, including extension Length of the file in bytes Default constructor, for XML serialization Constructor FileInfo for the zip file A manifest storing information about build products for a node's output List of output files List of compressed archives containing the given files Construct a static Xml serializer to avoid throwing an exception searching for the reflection info at runtime Construct an empty temp storage manifest Creates a manifest from a flat list of files (in many folders) and a BaseFolder from which they are rooted. List of full file paths Root folder for all the files. All files must be relative to this RootDir. Gets the total size of the files stored in this manifest The total size of all files Load a manifest from disk File to load Saves a manifest to disk File to save Stores the contents of a tagged file set List of files that are in this tag set, relative to the root directory List of files that are in this tag set, but not relative to the root directory List of referenced storage blocks List of keys for published artifacts Construct a static Xml serializer to avoid throwing an exception searching for the reflection info at runtime Construct an empty file list for deserialization Creates a manifest from a flat list of files (in many folders) and a BaseFolder from which they are rooted. List of full file paths Root folder for all the files. All files must be relative to this RootDir. Referenced storage blocks required for these files Keys for published artifacts Load this list of files from disk File to load Saves this list of files to disk File to save Converts this file list into a set of FileReference objects The root directory to rebase local files Set of files Tracks the state of the current build job using the filesystem, allowing jobs to be restarted after a failure or expanded to include larger targets, and providing a proxy for different machines executing parts of the build in parallel to transfer build products and share state as part of a build system. If a shared temp storage directory is provided - typically a mounted path on a network share - all build products potentially needed as inputs by another node are compressed and copied over, along with metadata for them (see TempStorageFile) and flags for build events that have occurred (see TempStorageEvent). The local temp storage directory contains the same information, with the exception of the archived build products. Metadata is still kept to detect modified build products between runs. If data is not present in local temp storage, it's retrieved from shared temp storage and cached in local storage. Root directory for this branch. The local temp storage directory (typically somewhere under /Engine/Saved directory). The shared temp storage directory; typically a network location. May be null. Whether to allow writes to shared storage Constructor Root directory for this branch The local temp storage directory. The shared temp storage directory. May be null. Whether to write to shared storage, or only permit reads from it Cleans all cached local state. We never remove shared storage. Cleans local build products for a given node. Does not modify shared storage. Name of the node Check whether the given node is complete Name of the node True if the node is complete Mark the given node as complete Name of the node Checks the integrity of the give node's local build products. The node to retrieve build products for List of tag names from this node. Filter for files to ignore when performing integrity check. Specified per node. True if the node is complete and valid, false if not (and typically followed by a call to CleanNode()). Reads a set of tagged files from disk Name of the node which produced the tag set Name of the tag, with a '#' prefix The set of files Writes a list of tagged files to disk Name of the node which produced the tag set Name of the tag, with a '#' prefix List of files in this set List of referenced storage blocks Keys for published artifacts The set of files Saves the given files (that should be rooted at the branch root) to a shared temp storage manifest with the given temp storage node and game. The node which created the storage block Name of the block to retrieve. May be null or empty. Array of build products to be archived Allow skipping the copying of this manifest to shared storage, because it's not required by any other agent The created manifest instance (which has already been saved to disk). Retrieve an output of the given node. Fetches and decompresses the files from shared storage if necessary, or validates the local files. The node which created the storage block Name of the block to retrieve. May be null or empty. Filter for files to ignore Manifest of the files retrieved Zips a set of files (that must be rooted at the given RootDir) to a set of zip files in the given OutputDir. The files will be prefixed with the given basename. Fully qualified list of files to zip (must be rooted at RootDir). Root Directory where all files will be extracted. Location to place the set of zip files created. Location to create zip files before copying them to the OutputDir. If the OutputDir is on a remote file share, staging may be more efficient. Use null to avoid using a staging copy. The basename of the set of zip files. Some metrics about the zip process. This function tries to zip the files in parallel as fast as it can. It makes no guarantees about how many zip files will be created or which files will be in which zip, but it does try to reasonably balance the file sizes. Unzips a set of zip files with a given basename in a given folder to a given RootDir. Files to extract Root Directory where all files will be extracted. Some metrics about the unzip process. The code is expected to be the used as the symmetrical inverse of , but could be used independently, as long as the files in the zip do not overlap. Gets the directory used to store data for the given node A local or shared temp storage root directory. Name of the node Directory to contain a node's data Gets the path to the manifest created for a node's output. A local or shared temp storage root directory. Name of the node to get the file for Name of the output block to get the manifest for Gets the path to the file created to store a tag manifest for a node A local or shared temp storage root directory. Name of the node to get the file for Name of the tag to get the manifest for Gets the path to a file created to indicate that a node is complete, under the given base directory. A local or shared temp storage root directory. Name of the node to get the file for Checks whether the given path is allowed as a build product that can be produced by more than one node (timestamps may be modified, etc..). Used to suppress warnings about build products being overwritten. File name to check True if the given path may be output by multiple build products Copy a temp storage .zip file to directory. Uses Robocopy on Windows, rsync on Linux/macOS and native .NET API when under Wine. .zip file to copy Destination dir Output from the copy operation Copy a directory using the most suitable option Source directory Directory directory Output from directory copy operation If source directory wasn't found Copy a directory using an external tool native to OS Robocopy Windows and rsync for Linux and macOS. Source directory Directory directory Output from directory copy operation If source directory wasn't found Copy a directory using .NET SDK directory and file copy API Source directory Directory directory Output from directory copy operation If source directory wasn't found Automated tests for temp storage Run the automated tests Enumerate all the files beginning with a letter within a certain range The directory to read from First character in the range to files to return Last character (inclusive) in the range of files to return Mapping from filename to timestamp Checks that a manifest matches the files on disk Root directory for relative paths in the manifest Manifest to check Mapping of filename to timestamp as expected in the manifest Commandlet to clean up all folders under a temp storage root that are older than a given number of days Entry point for the commandlet Parameters for a task that generates debugging symbols from a set of files List of file specifications separated by semicolons (eg. *.cpp;Engine/.../*.bat), or the name of a tag set Tag to be applied to build products of this task If set, this will use the rad debugger pdb symbol dumper as well as the rad symbol_path_fixer. Generates a portable symbol dump file from the specified binaries Parameters for this task Construct a spawn task Parameters for the task Execute the task. Information about the current job Set of build products produced by this node. Mapping from tag names to the set of files they include Processes the raw symbol dump Filters the output from the dump_syms executable, which depending on the platform can be pretty spammy Array of source strings to filter from output Output this task out to an XML writer. Find all the tags which are used as inputs to this task The tag names which are read by this task Find all the tags which are modified by this task The tag names which are modified by this task