언어:
페이지 정보
엔진 버전:
언리얼 엔진
이 문서가 번역된 이후 업데이트된 내용이 있을 수 있습니다. 자세한 내용은 영문 페이지를 참고하세요.

BuildGraph 스크립트 엘리먼트

언리얼 엔진

BuildGraph 스크립트는 XML 로 작성합니다. 여기서는 BuildGraph 스크립트에서 찾을 수 있는 데이터 유형과 아울러 전체적인 구조체에 대해 알아봅니다.

엘리먼트

엘리먼트(element)는 그 안에 포함된 데이터의 설명으로, BuildGraph 스크립트의 기본 구성 요소 중 하나입니다. 다음 표는 메타데이터로 제공되는 항목으로, 빌드 시스템에서 실행할 때 익스포트되는 것입니다. 로컬에서 태스크를 실행할 때 BuildGraph 에 직접 사용되지는 않지만, [META] 태그가 붙습니다.

그래프 구조체

BuildGraph 스크립트는 보통 다음 엘리먼트로 정의됩니다:

  • <Node> 노드

  • <Aggregate> 어그리게이트

  • <Agent> 에이전트

  • <Trigger> 트리거

노드

<Node> 노드는 BuildGraph 의 가장 작은 실행 단위로, 입력과 출력 세트를 갖습니다. 각 <Node> 는 순서대로 실행되는 태스크 시퀀스로 이루어집니다.

어트리뷰트

유형

필수

설명

Name

Name

필수

노드 이름입니다.

Requires

Target List

옵션

다른 노드에서 만들어진 노드, 어그리게이트, 태그 붙은 파일 세트의 세미콜론 구분 목록으로, 이 노드의 실행에 필요합니다.

Produces

Tag List

옵션

이 노드가 다른 노드에 사용할 수 있도록 만든 태그 붙은 파일 세트를 세미콜론으로 구분한 것입니다.

After

Target List

옵션

이 노드가 다음에 실행시켜야 하는 노드 목록으로, 현재 대상의 일부인 경우에만 실행합니다 (아니면 무시합니다). 세미콜론으로 구분합니다.

NotifyOnWarnings

Boolean

옵션

false 면 이 노드는 경고시 알림 신호를 냅니다. 빌드 시스템에만 사용됩니다. 기본값은 true 입니다. [META]

If

Condition

옵션

평가할 조건입니다. 조건 평가가 true 로 나오지 않는 한 엘리먼트는 무시됩니다.

어그리게이트

<Aggregate> 는 다른 노드의 세트 (또는 생성된 태그 세트)에 대한 동의어로 사용될 수 있는 네임드 어그리게이트를 선언합니다.

어트리뷰트

유형

필수

설명

Name

Name

필수

어그리게이트 이름입니다.

Requires

Target List

필수

이 어그리게이트의 종속성 목록입니다. 노드, 태그 붙은 파일 세트, 에이전트 그룹이 될 수 있습니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

에이전트

<Agent> 는 (중간 디렉터리를 지우지 않고) 시퀀스로 실행될 노드의 에이전트 요건을 정의합니다. <Agent> 요건은 로컬에서 빌드할 때는 무시되지만, 반드시 지정해야 합니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

그룹 이름입니다.

Type

Identifier List

옵션

에이전트를 실행시킬 유형입니다. 이 스트링의 뜻은 호스트 빌드 시스템이 추론하며, 고유 의미를 갖지는 않습니다. [META]

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

트리거

<Trigger> 는 사용자 직접 개입으로만 실행시켜야 하는 그래프 부분에 대한 컨테이너 역할을 합니다. 트리거 이후 노드를 실행하려면, 명령줄에 -Trigger=<Name> 을 전달합니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

트리거 이름입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

프로퍼티 조작

BuildGraph 프로퍼티는 다음 엘리먼트로 변경할 수 있습니다:

  • <Property> 프로퍼티

  • <Option> 옵션

  • <EnvVar> 환경변수

프로퍼티

<Property> 는 프로퍼티의 값을 설정합니다. 외부 영역의 프로퍼티가 이미 같은 이름으로 선언된 경우, <Property> 로 덮어씁니다. 그렇지 않은 경우, 현재 영역에 새로운 프로퍼티를 선언합니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

설정할 프로퍼티 이름입니다.

Value

String

필수

프로퍼티에 대한 새 값입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

옵션

<Option> 은 명령줄에서 설정할 수 있는 사용자 옵션을 정의합니다. <Option> 은 전체 영역에서만 나타날 수 있습니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

옵션의 값으로 초기화시킬 옵션(과 프로퍼티) 이름입니다.

Description

String

필수

BuildGraph 에 -ListOnly 인수를 붙여 실행하면 표시되는 옵션에 대한 설명입니다.

Restrict

Regex

옵션

이 옵션의 유효 값에 일치하는 정규표현식입니다 (예: [a-zA-Z]+, true | false).

DefaultValue

String

필수

사용자가 명시적으로 설정하지 않은 경우의 옵션 기본값입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

환경변수

<EnvVar> 는 환경 변수의 내용( 또는 설정되지 않은 경우 공백 스트링)을 담는 프로퍼티를 선언합니다. <EnvVar> 는 전체 영역에서만 나타납니다.

어트리뷰트

유형

필수?

설명

Name

Name

필수

프로퍼티로 도입할 환경 변수 이름입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

흐름 제어

BuildGraph 스크립트의 흐름을 제어할 수 있는 엘리먼트는 다음과 같습니다:

  • <Include>

  • <Do>

  • <Switch>

  • <ForEach>

Include

<Include> 는 다른 BuildGraph 스크립트의 내용을 이 파일 안에 나타난 것처럼 처리합니다. <Include> 는 전체 영역에서만 나타날 수 있습니다.

어트리뷰트

유형

필수?

설명

Script

String

필수

포함시키고자 하는 스크립트로의 (현재 스크립트 기준 상대) 경로입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

Do

<Do> 는 엘리먼트 시퀀스를 그룹으로 묶어 조건이 true 로 평가되는 경우에만 처리합니다.

어트리뷰트

유형

필수?

설명

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

Switch

<Switch>C 의 switch 문과 비슷한데, 브랜치의 시퀀스에 있는 조건을 평가하고, true 로 평가되는 조건이 있는 첫 번째 문을 처리합니다.

예제 <Switch> 문:

<Switch>
    <Case If=X>
        <Elements go here>
    </Case>
    <Case If=Y>
        <Elements go here>
    </Case>
    <Default>
        <Elements go here>
    </Default>
</Switch>

어트리뷰트

유형

필수?

설명

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

ForEach

<ForEach> 는 엘리먼트의 본문을 목록 내 세미콜론으로 구분된 각 항목에 할당된 프로퍼티 값으로 확장시킵니다.

예제 <ForEach> 문:

<ForEach Name="Counter" Values="1;2;3;4;5">
    <Log Message="Counter=$(Counter)"/>
</ForEach>

어트리뷰트

유형

필수?

설명

Name

Name

필수

목록 내 각 값에 할당할 프로퍼티입니다.

Values

String List

필수

세미콜론으로 구분되는 값 목록입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

진단

BuildGraph 스크립트에 대한 진단을 할 수 있는 엘리먼트는 다음과 같습니다:

  • <Warning> 경고

  • <Error> 오류

경고

<Warning> 은 그래프 실행 전 경고 메시지를 출력합니다. <Warning> 은 노드, 에이전트, 트리거, 전체 영역에 포함시킬 수 있습니다. <Warning> 은 실행중인 대상으로 추려낸(trim down) 이후에도 그래프의 일부인 경우에만 출력을 제공할 것입니다.

어트리뷰트

유형

필수?

설명

Message

String

필수

로그에 출력할 텍스트입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

오류

<Error> 는 오류 메시지를 출력합니다. <Error> 는 노드, 에이전트, 트리거, 전체 영역에 포함시킬 수 있습니다. <Error> 는 실행중인 대상으로 추려낸(trim down) 이후에도 그래프의 일부인 경우에만 출력을 제공할 것입니다.

어트리뷰트

유형

필수?

설명

Message

String

필수

로그에 출력할 텍스트입니다.

If

Condition

옵션

평가할 조건입니다. 조건이 true 로 평가되지 않는 한 엘리먼트는 무시됩니다.

태스크

보통 프로젝트 전용 유틸리티 스크립트는 AutomationTool BuildCommand 클래스로 구현됩니다. 하지만 프로젝트에 대해 커스텀 태스크를 자동화시키고자 할 때가 있습니다. 그럴 때 BuildGraph 가 도움이 됩니다. BuildGraph 는 태스크를 몇 개든 확장할 수 있어, 요구에 딱 맞도록 빌드 자동화 태스크를 커스터마이징할 수 있습니다. 다음 섹션에서는 BuildGraph 를 사용하여 커스텀 태스크를 만드는 방법과 아울러, 커스텀 태스크 생성을 시작하기에 좋은 미리지정 태스크 목록에 대해서도 살펴보겠습니다.

커스텀 태스크

커스텀 태스크를 새로 만들기 위해서는, CustomTask 클래스에서 파생 클래스를 구현한 뒤 [TaskElement] 어트리뷰트를 적용하면 됩니다. TaskElement 생성자는 인수를 둘 받습니다. 하나는 그것을 나타내는 XML 엘리먼트의 이름, 다른 하나는 그 (로드 시간에 생성자에 전달되는) 파라미터가 들어있는 클래스 유형입니다

XML 파일에서 파라미터 클래스 필드를 읽고자 하는 경우, [TaskParameter] 어트리뷰트를 태스크에 붙입니다. TaskParameter 어트리뷰트를 붙인다는 것은 파라미터가 필수인지 옵션인지, 인수에 적용시킬 부가 인증(validation)을 포함해서 나타냅니다.

미리정의된 태스크

태스크 생성을 위한 시작 지점이 있었으면 하시는 분들을 위해, 미리정의된 태스크 다수를 템플릿으로 제공해 드리고 있습니다. 시작 지점으로 쓸 단순한 미리정의된 태스크를 찾으시는 경우, LogTask 에서부터 시작해 보실 것을 추천합니다. BuildGraph 최신 변경사항을 계속 받아보시려면, 이 글을 즐겨찾기 등록해 주세요. 주기적으로 다음 미리정의된 태스크 목록을 업데이트하겠습니다.

AgeStore

Task which 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

Usage

Description

Platform

UnrealTargetPlatform

Required

The target platform to age symbols for.

StoreDir

String

Required

The symbol server directory.

Days

Int32

Required

Number of days worth of symbols to keep.

BuildDir

String

Optional

The root of the build dir 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 tool chain.

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

Usage

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

Usage

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

FileReference

Optional

The editor executable to use. Defaults to the development UE4Editor executable for the current platform.

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

Usage

Description

Target

String

Required

The target to compile.

Configuration

UnrealTargetConfiguration

Required

The configuration to compile.

Platform

UnrealTargetPlatform

Required

The platform to compile for.

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

Nullable`1

Optional

Whether to allow cleaning this target. If unspecified, targets are cleaned if the -Clean argument 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

Usage

Description

Project

String

Required

Project file to be cooked.

Platform

String

Required

The cook platform to target (eg. WindowsNoEditor).

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.

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

Usage

Description

Files

File Spec

Optional

Filter to be applied to the list of input files. Optional.

From

File Spec

Required

The pattern(s) to copy from (such as Engine/*.txt).

To

File Spec

Required

The directory or 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.

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

Usage

Description

Project

String

Required

The C# project file to be compile. More than one project file can be specified by separating with semicolons.

Configuration

String

Optional

The configuration to compile.

Platform

String

Optional

The platform to compile.

Target

String

Required

The target to build.

Arguments

String

Optional

Additional arguments to be passed 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 (such as those that are external and not copied into the output dir).

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

Usage

Description

Files

File Spec

Required

List of file specifications separated by semicolons (for example .cpp;Engine/.../.bat), or the name of a tag set.

DeleteEmptyDirectories

Boolean

Optional

Whether to delete empty directories after deleting the files. Defaults to true.

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

Usage

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.

Move

This moves files from one directory to another.

Attribute

Type

Usage

Description

Files

File Spec

Optional

Filter to be applied to the list of input files. Optional.

From

File Spec

Required

The pattern(s) to copy from (such as Engine/*.txt).

To

File Spec

Required

The directory or to copy to.

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

This executes MsBuild.

Attribute

Type

Usage

Description

Project

String

Required

The C# project file to be compile. More than one project file can be specified by separating with semicolons.

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

This creates a PAK file from a given set of files.

Attribute

Type

Usage

Description

Files

File Spec

Required

List of files, wildcards and tag sets to add to the pak file, separated by ';' characters.

Output

FileReference

Required

PAK file to output.

ResponseFile

FileReference

Optional

Path to a Response File that contains a list of files to add to the pak file, instead of specifying them individually.

RebaseDir

HashSet`1

Optional

Directories to rebase the files relative to. If specified, the shortest path under a listed directory will be used for each file.

Order

FileReference

Optional

Script which gives the order of files.

Sign

FileReference

Optional

Encryption keys for this pak file.

Compress

Boolean

Optional

Whether or not to compress files.

Arguments

String

Optional

Additional arguments to be passed 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

This renames a file, or group of files.

Attribute

Type

Usage

Description

Files

File Spec

Required

The file or files to rename.

From

String

Optional

The current file name, or pattern to match (eg. *.txt). Should not include any path separators.

To

String

Required

The new name for the file(s). Should not include any path separators.

Tag

Tag List

Optional

Tag to be applied to the renamed files.

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

SanitizeReceipt

This task tags build products and/or runtime dependencies by reading from *.target files.

Attribute

Type

Usage

Description

Files

File Spec

Required

Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons.

EngineDir

DirectoryReference

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

Update the local version files (Engine/Source/Runtime/Launch/Resources/Version.h, Engine/Build/Build.version, and Engine/Source/Programs/DotNETCommon/Metadata.cs) with the given version information.

Attribute

Type

Usage

Description

Change

Int32

Required

The changelist to set in the version files.

CompatibleChange

Int32

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, don't actually 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

Sign a set of executable files with an installed certificate.

Attribute

Type

Usage

Description

Files

File Spec

Required

List of file specifications separated by semicolons (eg. .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

This spawns an external executable and waits for it to complete.

Attribute

Type

Usage

Description

Exe

String

Required

Executable to spawn.

Arguments

String

Optional

Arguments for the newly created process.

ErrorLevel

Int32

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

This stages files listed in a build receipt to an output directory.

Attribute

Type

Usage

Description

Project

FileReference

Optional

The project that this target belongs to.

Target

String

Required

Name of the target to stage.

Platform

UnrealTargetPlatform

Required

Platform to stage.

Configuration

UnrealTargetConfiguration

Required

Configuration to be staged.

Architecture

String

Optional

Architecture to be staged.

ToDir

DirectoryReference

Required

Directory 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

This strips debugging information from a set of files.

Attribute

Type

Usage

Description

Platform

UnrealTargetPlatform

Required

The platform toolchain to strip binaries.

BaseDir

DirectoryReference

Optional

The directory to find files in.

Files

File Spec

Required

List of file specifications separated by semicolons (eg. Engine/.../*.pdb), or the name of a tag set.

OutputDir

DirectoryReference

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

Usage

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 (eg. 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.

RootDir

DirectoryReference

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).

If

Condition

Optional

Whether to execute this task. It is ignored if this condition evaluates to false.

SymStore

Task which strips symbols from a set of files

Attribute

Type

Usage

Description

Platform

UnrealTargetPlatform

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 cleanup 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

Usage

Description

BaseDir

DirectoryReference

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. Resolved relative to BaseDir if set, otherwise to the branch root directory.

FileLists

File Spec

Optional

Set of text files to add additional files from. Each file list should have on file per line.

Filter

File Spec

Optional

Patterns to filter the list of files by, including tag names or wildcards. May include patterns that apply to the base directory if set. Defaults to all files if not specified.

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

This task tags build products and/or runtime dependencies by reading from *.target files.

Attribute

Type

Usage

Description

Files

File Spec

Required

Set of receipt files (*.target) to read, including wildcards and tag names, separated by semicolons.

EngineDir

DirectoryReference

Optional

Path to the Engine folder, used to expand $(EngineDir) properties in receipt files. Defaults to the Engine directory for the current workspace.

ProjectDir

DirectoryReference

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

Usage

Description

ZipFile

File Spec

Required

Path to the zip file to extract.

ToDir

DirectoryReference

Required

Output directory for the extracted files.

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.

Zip

This compresses files into a zip archive.

Attribute

Type

Usage

Description

FromDir

DirectoryReference

Required

The directory to read compressed files from.

Files

File Spec

Optional

List of file specifications separated by semicolons (eg. .cpp;Engine/.../.bat), or the name of a tag set. Relative paths are taken from FromDir.

ZipFile

FileReference

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.