Typically, project-specific utility scripts are implemented as AutomationTool BuildCommand
classes. There are times, however, when you need to automate custom tasks for your project. This is where BuildGraph can help, as you can extend BuildGraph with any number of automation tasks in ways that suit your specific needs. The following section goes over ways of creating custom tasks using BuildGraph, including a listing of predefined tasks that will give you a great starting point for creating custom tasks.
Custom Tasks
To create a new custom task, implement a class derived from the CustomTask
class and apply the TaskElement
attribute to it. The TaskElement
constructor takes two arguments: the name of the XML element that it is represented by and the type of class containing its parameters (which is passed to the constructor at load time).
If you want to read parameter class fields from an XML file, attach the TaskParameter
attribute to the task. Attaching the TaskParameter
attribute indicates if the parameter is required or optional, including additional validation that should be applied to the argument.
Predefined Tasks
If you would like to have a starting point for creating tasks, we provide a variety of predefined tasks as templates for you to work from. If you are looking for a simple predefined task to start from, we recommend using LogTask
as a good starting point. If you want to keep up with our latest improvements to BuildGraph, bookmark this page. The following list of predefined tasks will be updated periodically.
BuildCookRun is a powerful and commonly used command for packaging tasks. For more information, read the overview that covers Build Operations.
AgeStore
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.
Attribute | Type | Required? | Description |
---|---|---|---|
Platform | Unreal Target Platform | Required | The target platform to age symbols for. |
StoreDir | String | Required | The symbol server directory. |
Days | Integer | Required | Number of days worth of symbols to keep. |
BuildDir | String | Optional | The root of the build directory to check for existing buildversion named directories. |
Filter | String | Optional | 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. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Aws
Spawns AWS CLI and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Arguments | String | Optional | Arguments for the newly created process. |
Environment | String | Optional | Environment variables. |
EnvironmentFile | String | Optional | File to read environment from. |
LogOutput | Boolean | Optional | Write output to the log. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Aws-AssumeRole
Assumes an AWS role.
Attribute | Type | Required? | Description |
---|---|---|---|
Arn | String | Required | Role to assume. |
Session | String | Required | Name of this session. |
Duration | Integer | Optional | Duration of the token in seconds. |
Environment | String | Optional | Environment variables. |
EnvironmentFile | String | Optional | File to read environment variables from. |
OutputFile | String | Required | Output file for the new environment. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Aws-EcsDeploy
Creates a new AWS ECS task definition and updates the ECS service to use this new revision of the task definition.
Attribute | Type | Required? | Description |
---|---|---|---|
TaskDefinitionFile | String | Required | Task definition file to use. |
DockerImage | String | Required | Docker image to set in new task definition (will replace DOCKER_PATTERN with this value). |
Version | String | Optional | App version to set in new task definition (will replace VERSION with this value). |
Cluster | String | Required | Cluster ARN representing AWS ECS cluster to operate on. |
Service | String | Required | Service name to update and deploy to. |
Environment | String | Optional | Environment variables. |
EnvironmentFile | String | Optional | File to read environment from. |
LogOutput | Boolean | Optional | Write output to the log. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
CallMethod
Invokes a C# method.
Attribute | Type | Required? | Description |
---|---|---|---|
Class | String | Required | Name of the class to run a method in. |
Method | String | Required | The method name to execute. |
Arg1 | String | Optional | Argument value. |
Arg2 | String | Optional | Argument value. |
Arg3 | String | Optional | Argument value. |
Arg4 | String | Optional | Argument value. |
Arg5 | String | Optional | Argument value. |
Arg6 | String | Optional | Argument value. |
Arg7 | String | Optional | Argument value. |
Arg8 | String | Optional | Argument value. |
Arg9 | String | Optional | Argument value. |
Tags | String | Optional | List of tags for outputs. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Command
Invokes an AutomationTool child process to run the given command.
Attribute | Type | Required? | Description |
---|---|---|---|
Name | String | Required | The command name to execute. |
Arguments | String | Optional | Arguments to be passed to the command. |
MergeTelemetryWithPrefix | String | Optional | 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. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Commandlet
Spawns the editor to run a commandlet.
Attribute | Type | Required? | Description |
---|---|---|---|
Name | String | Required | The commandlet name to execute. |
Project | File Spec | Optional | The project to run the editor with. |
Arguments | String | Optional | Arguments to be passed to the commandlet. |
EditorExe | File Reference | Optional | The editor executable to use. Defaults to the development UnrealEditor executable for the current platform. |
ErrorLevel | Integer | Optional | The minimum exit code, which is treated as an error. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Compile
Compiles a target with UnrealBuildTool.
Attribute | Type | Required? | Description |
---|---|---|---|
Target | String | Optional | The target to compile. |
Configuration | Unreal Target Configuration | Required | The configuration to compile. |
Platform | Unreal Target Platform | Required | The platform to compile for. |
Project | File Spec | Optional | The project to compile with. |
Arguments | String | Optional | Additional arguments for UnrealBuildTool. |
AllowXGE | Boolean | Optional | Whether to allow using XGE for compilation. |
AllowParallelExecutor | Boolean | Optional | Whether to allow using the parallel executor for this compile. |
Clean | Boolean | Optional | Whether to allow cleaning this target. If unspecified, targets are cleaned if the -Clean argument is passed on the command line. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Cook
Cook a selection of maps for a certain platform.
Attribute | Type | Required? | Description |
---|---|---|---|
Project | String | Required | Project file to be cooked. |
Platform | String | Required | The cook platform to target (for example, Windows). |
Maps | String | Optional | List of maps to be cooked, separated by '+' characters. |
Versioned | Boolean | Optional | Additional arguments to be passed to the cooker. |
Arguments | String | Optional | Additional arguments to be passed to the cooker. |
EditorExe | String | Optional | Optional path to what editor executable to run for cooking. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Copy
Copies files from one directory to another.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Optional | Optional filter to be applied to the list of input files. |
From | File Spec | Required | The pattern or patterns to copy from (for example, Engine/*.txt ). |
To | File Spec | Required | The directory to copy to. |
Overwrite | Boolean | Optional | Whether or not to overwrite existing files. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
ErrorIfNotFound | Boolean | Optional | Whether or not to throw an error if no files were found to copy. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
CsCompile
Compiles C# project files and their dependencies.
Attribute | Type | Required? | Description |
---|---|---|---|
Project | String | Required | The C# project file to compile. Using semicolons, more than one project file can be specified. |
Configuration | String | Optional | The configuration to compile. |
Platform | String | Optional | The platform to compile. |
Target | String | Optional | The target to build. |
Properties | String | Optional | Properties for the command. |
Arguments | String | Optional | Additional options to pass to the compiler. |
EnumerateOnly | Boolean | Optional | Only enumerate build products ─ do not actually compile the projects. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
TagReferences | Tag List | Optional | 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). |
UseSystemCompiler | Boolean | Optional | Whether to use the system toolchain rather than the bundled UE SDK. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Delete
Delete a set of files.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Optional | List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat ), or the name of a tag set. |
Directories | String | Optional | List of directory names. |
DeleteEmptyDirectories | Boolean | Optional | Whether to delete empty directories after deleting the files. Defaults to true. |
Verbose | Boolean | Optional | Whether or not to use verbose logging. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Docker
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Arguments | String | Required | Docker command line arguments. |
Environment | String | Optional | Environment variables to set. |
EnvironmentFile | String | Optional | File to read environment variables from. |
WorkingDir | String | Optional | Base directory for running the command. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Docker-Build
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
BaseDir | String | Required | Base directory for the build. |
Files | String | Required | Files to be staged before building the image. |
DockerFile | String | Optional | Path to the Dockerfile. Uses the root of basedir if not specified. |
DockerIgnoreFile | String | Optional | Path to a .dockerignore . Will be copied to basedir if specified. |
UseBuildKit | Boolean | Optional | Use BuildKit in Docker. |
ProgressOutput | String | Optional | Type of progress output (--progress ). |
Tag | String | Optional | Tag for the image. |
Arguments | String | Optional | Optional arguments. |
OverlayDirs | String | Optional | List of additional directories to overlay into the staged input files. Allows credentials to be staged and the like. |
Environment | String | Optional | Environment variables to set. |
EnvironmentFile | String | Optional | File to read environment variables from. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Docker-Compose-Down
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
File | String | Required | Path to the docker-compose file. |
Arguments | String | Optional | Arguments for the command. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Docker-Compose-Up
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
File | String | Required | Path to the docker-compose file. |
Arguments | String | Optional | Arguments for the command. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Docker-Push
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Repository | String | Required | Repository. |
Image | String | Required | Source image to push. |
TargetImage | String | Optional | Name of the target image. |
Environment | String | Optional | Additional environment variables. |
EnvironmentFile | String | Optional | File to read environment from. |
AwsEcr | Boolean | Optional | Whether to login to AWS ECR. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
DotNet
Spawns Docker and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Arguments | String | Optional | Docker command line arguments. |
BaseDir | String | Optional | Base directory for running the command. |
Environment | String | Optional | Environment variables to set. |
EnvironmentFile | String | Optional | File to read environment variables from. |
ErrorLevel | Integer | Optional | The minimum exit code, which is treated as an error. |
DotNetPath | File Reference | Optional | Override path to dotnet executable. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
FindModifiedFiles
Compiles C# project files and their dependencies.
Attribute | Type | Required? | Description |
---|---|---|---|
Paths | String | Required | The C# project file to compile. Using semicolons, more than one project file can be specified. |
Change | Integer | Optional | The configuration to compile. |
MinChange | Integer | Optional | The configuration to compile. |
MaxChange | Integer | Optional | The configuration to compile. |
Output | File Reference | Optional | The file to write to. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Git
Spawns Git and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Arguments | String | Optional | Git command line arguments. |
BaseDir | String | Optional | Base directory for running the command. |
ErrorLevel | Integer | Optional | The minimum exit code, which is treated as an error. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Git-Clone
Clones a Git repository into a local path.
Attribute | Type | Required? | Description |
---|---|---|---|
Dir | String | Required | Directory for the repository. |
Remote | String | Optional | The remote to add. |
Branch | String | Required | The branch to check out on the remote. |
ConfigFile | String | Optional | Configuration file for the repo. This can be used to set up a remote to be fetched or provide credentials or both. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Helm
Spawns Helm and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Chart | String | Required | Helm command line arguments. |
Deployment | String | Required | Name of the release. |
Namespace | String | Optional | The Kubernetes namespace. |
KubeContext | String | Optional | The kubectl context. |
KubeConfig | String | Optional | The kubectl config file to use. |
Values | String | Optional | Values to set for running the chart. |
ValuesFile | String | Optional | Values to set for running the chart. |
Environment | String | Optional | Environment variables to set. |
EnvironmentFile | String | Optional | File to parse environment variables from. |
Arguments | String | Optional | Additional arguments. |
WorkingDir | String | Optional | Base directory for running the command. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Kubectl
Spawns Kubectl and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Arguments | String | Required | Command line arguments. |
BaseDir | String | Optional | Base directory for running the command. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Log
Print a message (and other optional diagnostic information) to the output log.
Attribute | Type | Required? | Description |
---|---|---|---|
Message | String | Optional | Message to print out. |
Files | File Spec | Optional | If specified, causes the given list of files to be printed after the given message. |
IncludeContents | Boolean | Optional | If specified, causes the contents of the given files to be printed out. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
ModifyConfig
Modifies a config file.
Attribute | Type | Required? | Description |
---|---|---|---|
File | File Spec | Required | Path to the config file. |
Section | String | Required | The section name to modify. |
Key | String | Required | The property name to set. |
Value | String | Required | The property value to set. |
Tag | Tag List | Optional | Tag to be applied to the extracted files. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
ModifyJsonValue
Modifies json files by setting a value specified in the key path.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | JSON file paths which will be modified. |
KeyPath | String | Required | JSON key path to find in each file. |
NewValue | Integer | Required | New value to apply. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Move
Moves files from one directory to another.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Optional | Optional filter to be applied to the list of input files. |
From | File Spec | Required | The pattern or patterns to copy from (for example, Engine/*.txt ). |
To | File Spec | Required | The directory to copy to. |
Overwrite | Boolean | Optional | Optionally if files should be overwritten, defaults to false. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
MsBuild
Executes MsBuild.
Attribute | Type | Required? | Description |
---|---|---|---|
Project | String | Required | The C# project file to compile. Using semicolons, more than one project file can be specified. |
Configuration | String | Optional | The configuration to compile. |
Platform | String | Optional | The platform to compile. |
Arguments | String | Optional | Additional options to pass to the compiler. |
Verbosity | String | Optional | The MSBuild output verbosity. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
PakFile
Creates a PAK file from a given set of files.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | List of files, wildcards, and tag sets to add to the PAK file, separated by ';' characters. |
Output | File Reference | Required | PAK file to output. |
ResponseFile | File Reference | Optional | Path to a Response File that contains a list of files to add to the pak file — instead of specifying them individually. |
RebaseDir | Directory List | Optional | Directories to rebase the files relative to. If specified, the shortest path under a listed directory will be used for each file. |
Order | File Reference | Optional | Script that gives the order of files. |
Sign | File Reference | Optional | Encryption keys for this PAK file. |
Compress | Boolean | Optional | Whether to compress files. |
Arguments | String | Optional | Additional arguments to pass to UnrealPak. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Rename
Renames a file or group of files.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | The file or files to rename. |
From | String | Optional | The current file name, or pattern to match (for example, *.txt ). Should not include any path separators. |
To | String | Required | The new name for the file or files. Should not include any path separators. |
Tag | Tag List | Optional | Tag to be applied to the renamed file or files. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
SanitizeReceipt
Task that tags build products or runtime dependencies or both by reading from *.target
files.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | Set of receipt files (*.target ) to read, including wildcards and tag names, separated by semicolons. |
EngineDir | Directory Reference | Optional | Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
SetVersion
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.
Attribute | Type | Required? | Description |
---|---|---|---|
Change | Integer | Required | The changelist to set in the version files. |
CompatibleChange | Integer | Optional | The engine compatible changelist to set in the version files. |
Branch | String | Required | The branch string. |
Build | String | Optional | The build version string. |
Licensee | Boolean | Optional | Whether to set the IS_LICENSEE_VERSION flag to true. |
Promoted | Boolean | Optional | Whether to set the ENGINE_IS_PROMOTED_BUILD flag to true. |
SkipWrite | Boolean | Optional | If set, do not write to the files — just return the version files that would be updated. Useful for local builds. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Sign
Signs a set of executable files with an installed certificate.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | List of file specifications separated by semicolons (for example, *.cpp;Engine/.../*.bat ), or the name of a tag set. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Spawn
Spawns an external executable and waits for it to complete.
Attribute | Type | Required? | Description |
---|---|---|---|
Exe | String | Required | Executable to spawn. |
Arguments | String | Optional | Arguments for the newly created process. |
WorkingDir | String | Optional | Working directory for spawning the new task. |
Environment | String | Optional | Environment variables to set. |
EnvironmentFile | String | Optional | File to read environment from. |
LogOutput | Boolean | Optional | Write output to the log. |
ErrorLevel | Integer | Optional | The minimum exit code, which is treated as an error. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Stage
Stages files listed in a build receipt to an output directory.
Attribute | Type | Required? | Description |
---|---|---|---|
Project | File Reference | Optional | The project that this target belongs to. |
Target | String | Required | Name of the target to stage. |
Platform | Unreal Target Platform | Required | Platform to stage. |
Configuration | Unreal Target Configuration | Required | Configuration to be staged. |
Architecture | String | Optional | Architecture to be staged. |
ToDir | Directory Reference | Required | Directory that the receipt files should be staged to. |
Overwrite | Boolean | Optional | Whether to overwrite existing files. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Strip
Strips debugging information from a set of files.
Attribute | Type | Required? | Description |
---|---|---|---|
Platform | Unreal Target Platform | Required | The platform toolchain to strip binaries. |
BaseDir | Directory Reference | Optional | The directory to find files in. |
Files | File Spec | Required | List of file specifications separated by semicolons (for example, Engine/.../*.pdb ), or the name of a tag set. |
OutputDir | Directory Reference | Optional | Output directory for the stripped files. Defaults to the input path, overwriting the input files. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Submit
Creates a new changelist and submits a set of files to a Perforce stream.
Attribute | Type | Required? | Description |
---|---|---|---|
Description | String | Required | The description for the submitted changelist. |
Files | File Spec | Required | The files to submit. |
FileType | String | Optional | The Perforce file type for the submitted files (for example, binary+FS32). |
Workspace | String | Optional | 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. |
Stream | String | Optional | The stream for the workspace ─ defaults to the current stream. Ignored unless the Workspace attribute is also specified. |
Branch | String | Optional | Branch for the workspace (legacy P4 depot path). May not be used in conjunction with Stream. |
RootDir | Directory Reference | Optional | Root directory for the stream. If not specified, defaults to the current root directory. |
RevertUnchanged | Boolean | Optional | Whether to revert unchanged files before attempting to submit. |
Force | Boolean | Optional | Force the submit to happen ─ even if a resolve is needed (always accept current version). |
P4Verbose | Boolean | Optional | Allow verbose P4 output (spew). |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
SymStore
Task that strips symbols from a set of files.
Attribute | Type | Required? | Description |
---|---|---|---|
Platform | Unreal Target Platform | Required | The platform toolchain required to handle symbol files. |
Files | String | Required | List of output files. PDBs will be extracted from this list. |
StoreDir | String | Required | Output directory for the compressed symbols. |
Product | String | Required | Name of the product for the symbol store records. |
BuildVersion | String | Optional | BuildVersion associated with these symbols. Used for clean-up in AgeStore by matching this version against a directory name in a build share. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Tag
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.
Attribute | Type | Required? | Description |
---|---|---|---|
BaseDir | Directory Reference | Optional | 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. |
Files | File Spec | Optional | 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. |
FileLists | File Spec | Optional | Set of text files to add additional files from. Each file list should have one file per line. |
Filter | File Spec | Optional | 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. |
Except | File Spec | Optional | Set of patterns to exclude from the matched list. May include tag names of patterns that apply to the base directory. |
With | Tag List | Required | Name of the tag to apply. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
TagReceipt
Task that tags build products or runtime dependencies or both by reading from *.target
files.
Attribute | Type | Required? | Description |
---|---|---|---|
Files | File Spec | Required | Set of receipt files (*.target ) to read, including wildcards and tag names, separated by semicolons. |
EngineDir | Directory Reference | Optional | Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace. |
ProjectDir | Directory Reference | Optional | Path to the project folder, used to expand $(ProjectDir) properties in receipt files. Defaults to the Engine directory for the current workspace — DEPRECATED. |
BuildProducts | Boolean | Optional | Whether to tag the Build Products listed in receipts. |
BuildProductType | String | Optional | Which type of Build Products to tag (see TargetReceipt.cs - UnrealBuildTool.BuildProductType for valid values). |
RuntimeDependencies | Boolean | Optional | Whether to tag the Runtime Dependencies listed in receipts. |
StagedFileType | String | Optional | Which type of Runtime Dependencies to tag (see TargetReceipt.cs - UnrealBuildTool.StagedFileType for valid values). |
With | Tag List | Required | Name of the tag to apply. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Unzip
Extract files from a zip archive.
Attribute | Type | Required? | Description |
---|---|---|---|
ZipFile | File Spec | Required | Path to the zip file to extract. |
ToDir | Directory Reference | Required | Output directory for the extracted files. |
UseLegacyUnzip | Boolean | Optional | Whether or not to use the legacy unzip code. |
Tag | Tag List | Optional | Tag to be applied to the extracted files. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Upload
Uploads a set of files to Jupiter for future retrival
Attribute | Type | Required? | Description |
---|---|---|---|
FromDir | Directory Reference | Required | The directory to read compressed files from. |
Files | File Spec | Optional | 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. |
JupiterNamespace | String | Required | The jupiter namespace used to upload the build. Used to control who has access to the build. |
JupiterKey | String | Required | The key of the build as will be used to download the build again. This has to be globally unique for this particular upload. |
ArchiveType | String | Required | The type of archive these files are from, will be added to the metadata. |
ProjectName | String | Required | The name of the project this set of files are associated with, will be added to the metadata. |
Branch | String | Required | The source control branch these files were generated from, will be added to the metadata. |
Changelist | String | Required | The source control revision these files were generated from, will be added to the metadata. |
JupiterUrl | String | Required | Specify the url to the Jupiter instance to upload to. |
AdditionalMetadata | String | Optional | Semi-colon separated list of '=' separated key value mappings to add to the metadata. For example, Foo=bar;spam=eggs . |
LimitMemoryUsage | Boolean | Optional | If enabled file content is not kept in memory, results in lower memory usage but increased io as file contents needs to be read multiple times (for hashing as well as during upload). |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Wait
Waits a defined number of seconds.
Attribute | Type | Required? | Description |
---|---|---|---|
Seconds | Integer | Required | Number of seconds to wait. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
WriteTextFile
Writes text to a file.
Attribute | Type | Required? | Description |
---|---|---|---|
File | File Reference | Required | Path to the file to write. |
Append | Boolean | Optional | Optional, whether or not to append to the file rather than overwrite. |
Text | String | Optional | The text to write to the file. |
Files | File Spec | Optional | If specified, causes the given list of files to be printed after the given message. |
Tag | Tag List | Optional | Tag to be applied to build products of this task. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |
Zip
Compresses files into a zip archive.
Attribute | Type | Required? | Description |
---|---|---|---|
FromDir | Directory Reference | Required | The directory to read compressed files from. |
Files | File Spec | Optional | 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. |
ZipFile | File Reference | Required | The zip file to create. |
Tag | Tag List | Optional | Tag to be applied to the created zip file. |
If | Condition | Optional | Whether to execute this task. It is ignored if this condition evaluates to false. |