通常而言,项目特定的实用脚本被实现为 Unreal AutomationTool(UAT) BuildCommand 类。然而有时您需要为项目自动化自定义任务。这时 BuildGraph 便可提供协助。BuildGraph 可通过任意数量的任务进行延展,便于您用最符合自身需求的方式自定义构建自动化任务。以下部分将说明使用 BuildGraph 创建自定义任务的多种方式,包括预定义任务的列表,为创建自定义任务提供良好的起始点。
自定义任务
如需新建自定义任务,需实现一个派生自 CustomTask 类的类并对其应用 TaskElement 属性。TaskElement 构造函数拥有两个参数:其所代表的 XML 元素的命名、和包含其参数的类类型(将在加载时传至构造函数)。
如需从 XML 文件读取参数类域,将 TaskParameter 属性附加到任务。附加 TaskParameter 属性将说明形式参数为必须或可选,包括应被应用到实际参数的额外验证。
预定义任务
作为创建任务的起始点,我们提供各种预定义任务供您使用。如果需要上手使用的简单预定义任务,我们推荐将 LogTask 用作一个较好的起始点。如需了解 BuildGraph 的最新改良,请将此页设为书签,以下预定义任务列表将定期更新。
对于打包任务来说,BuildCookRun是一个强力而又常用的工具。更多详情,请参阅概述文档:构建操作。
AgeStore
用于从一组文件分离符号的任务(Task)。该任务是根据Microsoft调试工具SDK随附的AGESTORE实用程序命名的,但实际上它是一个单独的实现。主要区别在于,它使用最后修改时间来确定要删除哪些文件,而不是上次访问时间。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Platform | 虚幻目标平台 | 必需 | 操作符号的目标平台。 |
| StoreDir | 字符串 | 必需 | 符号服务器目录。 |
| Days | 整型 | 必需 | 符号值得保留的天数。 |
| BuildDir | 字符串 | 可选 | 构建目录的根目录,用于检查是否存在现有的 构建版本 指定目录。 |
| Filter | 字符串 | 可选 | 在删除服务号之前,目录文件名中要匹配的子字符串。如果有多个构建共享同一个符号服务器,这允许"age store"任务避免从其他构建中删除符号。filter值的具体用法由平台工具链定义的符号服务器结构确定。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Aws
生成AWS CLI并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arguments | 字符串 | 可选 | 新创建进程的参数。 |
| Environment | 字符串 | 可选 | 环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境的文件。 |
| LogOutput | 布尔值 | 可选 | 将输出写入日志。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Aws-AssumeRole
取用AWS角色。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arn | 字符串 | 必需 | 要取用的角色。 |
| Session | 字符串 | 必需 | 会话名称。 |
| Duration | 整型 | 可选 | 令牌的时长,以秒为单位。 |
| Environment | 字符串 | 可选 | 环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境变量的文件。 |
| OutputFile | 字符串 | 必需 | 新环境的输出文件。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Aws-EcsDeploy
创建一个新的AWS ECS任务定义并更新ECS服务来使用这个新版本的任务定义。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| TaskDefinitionFile | 字符串 | 必需 | 使用的任务定义文件。 |
| DockerImage | 字符串 | 必需 | 设在新任务定义中的Docker镜像(将会用该值替换 DOCKER_PATTERN )。 |
| Version | 字符串 | 可选 | 新任务定义中要设置的应用程序版本(将会用该值替换 VERSION )。 |
| Cluster | 字符串 | 必需 | 表示AWS ECS集束在其上运行的集束ARN。 |
| Service | 字符串 | 必需 | 要更新并部署至的服务名称。 |
| Environment | 字符串 | 可选 | 环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境的文件。 |
| LogOutput | 布尔值 | 可选 | 将输出写入日志。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
命令
调用AutomationTool子进程以运行指定命令。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Name | 字符串 | 必需 | 要执行的命令名称。 |
| Arguments | 字符串 | 可选 | 要传递给命令的参数。 |
| MergeTelemetryWithPrefix | 字符串 | 可选 | 如果非null,则指示来自命令的遥测合并到具有给定前缀的这个UAT实例的遥测。可以是空(非null)字符串。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Commandlet
生成编辑器以运行commandlet。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Name | 字符串 | 必需 | 要执行的commandlet名称。 |
| Project | 文件规范 | 可选 | 要通过编辑器运行的项目。 |
| Arguments | 字符串 | 可选 | 要传递到commandlet的参数。 |
| EditorExe | 文件引用 | 可选 | 要使用的编辑器可执行文件。默认为当前平台的开发虚幻编辑器可执行文件。 |
| ErrorLevel | 整型 | 可选 | 最低等级的退出代码,视作错误处理。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
编译
使用UnrealBuildTool编译目标。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Target | 字符串 | 可选 | 要编译的目标。 |
| Configuration | 虚幻目标配置 | 必需 | 要编译的配置。 |
| Platform | 虚幻目标平台 | 必需 | 编译所针对的平台。 |
| Project | 文件规范 | 可选 | 要编译的项目 |
| Arguments | 字符串 | 可选 | UnrealBuildTool的其它参数。 |
| AllowXGE | 布尔值 | 可选 | 是否允许对编译使用XGE。 |
| AllowParallelExecutor | 布尔值 | 可选 | 是否允许对该编译使用并行执行器。 |
| AllowAllCores | 布尔值 | 可选 | 在AllowXGE被禁用时,是否允许UBT使用所有可用内核。 |
| Clean | 布尔值 | 可选 | 是否允许清理该目标。如果不指定,则在命令行上传递-Clean参数时清理目标。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
烘焙
烘焙特定平台的所选贴图
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Project | 字符串 | 必需 | 要烘焙的项目文件。 |
| Platform | 字符串 | 必需 | 目标烘焙平台(如Windows)。 |
| Maps | 字符串 | 可选 | 要烘焙的贴图列表,以 "+" 字符分隔。 |
| Versioned | 布尔值 | 可选 | 要传递到烘焙器的额外参数。 |
| Arguments | 字符串 | 可选 | 要传递到烘焙器的额外参数。 |
| EditorExe | 字符串 | 可选 | 烘焙所运行的编辑器可执行文件的可选路径。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
复制
将文件从一个目录复制到另一个目录。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 可选 | 要应用于输入文件列表的可选过滤器。 |
| From | 文件规范 | 必需 | 复制源模式(如Engine/*.txt)。 |
| To | 文件规范 | 必需 | 复制目标目录。 |
| Overwrite | 布尔值 | 可选 | 是否覆盖现有文件。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| ErrorIfNotFound | 布尔值 | 可选 | 如果没有找到要复制的文件,是否弹出错误提示。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
CsCompile
编译C#项目文件及其依赖项。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Project | 字符串 | 必需 | 要编译的C#项目文件。使用分号可以指定多个项目文件。 |
| Configuration | 字符串 | 可选 | 要编译的配置。 |
| Platform | 字符串 | 可选 | 要编译的平台。 |
| Target | 字符串 | 可选 | 要构建的目标。 |
| Properties | 字符串 | 可选 | 指令的属性。 |
| Arguments | 字符串 | 可选 | 要传递到编译器的额外参数。 |
| EnumerateOnly | 布尔值 | 可选 | 仅列举构建产品--不会实际编译项目。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| TagReferences | 标签列表 | 可选 | 要应用于项目已有的任何非私有引用(如没有复制到输出目录外部引用)的标记。 |
| UseSystemCompiler | 布尔值 | 可选 | 是否用系统工具链来代替集束的UE SDK. |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
删除
删除一组文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 可选 | 以分号分隔的指定文件列表(如 *.cpp;Engine/.../*.bat ),或者标签集名称。 |
| Directories | 字符串 | 可选 | 目录名称列表。 |
| DeleteEmptyDirectories | 布尔值 | 可选 | 删除文件后是否删除空目录。默认为true。 |
| Verbose | 布尔值 | 可选 | 是否详尽记录日志。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Docker
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arguments | 字符串 | 必需 | Docker指令行参数。 |
| Environment | 字符串 | 可选 | 要设置的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境变量的文件。 |
| WorkingDir | 字符串 | 可选 | 运行该指令的基础目录。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Docker-Build
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| BaseDir | 字符串 | 必需 | 构建的基础目录。 |
| Files | 字符串 | 必需 | 构建镜像之前要暂存的文件。 |
| DockerFile | 字符串 | 可选 | Dockerfile文件路径。如果不指定,将会使用basedir的根目录。 |
| DockerIgnoreFile | 字符串 | 可选 | .dockerignore 的路径。如果指定的话,将会被复制到basedir。 |
| UseBuildKit | 布尔值 | 可选 | 在Docker中使用BuildKit。 |
| ProgressOutput | 字符串 | 可选 | 进程输出类型 ( --progress )。 |
| Tag | 字符串 | 可选 | 镜像的标签。 |
| Arguments | 字符串 | 可选 | 可选参数。 |
| OverlayDirs | 字符串 | 可选 | 要覆盖到暂存输入文件的目录列表。可以将凭证暂存等等。 |
| Environment | 字符串 | 可选 | 要设置的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境变量的文件。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Docker-Compose-Down
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| File | 字符串 | 必需 | docker-compose文件的路径。 |
| Arguments | 字符串 | 可选 | 用于指令的参数。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Docker-Compose-Up
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| File | 字符串 | 必需 | docker-compose文件路径。 |
| Arguments | 字符串 | 可选 | 指令所用的参数。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Docker-Push
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Repository | 字符串 | 必需 | 仓库。 |
| Image | 字符串 | 必需 | 要推送的源镜像。 |
| TargetImage | 字符串 | 可选 | 目标镜像的名称。 |
| Environment | 字符串 | 可选 | 额外的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境的文件。 |
| AwsEcr | 布尔值 | 可选 | 是否登录AWS ECR。 |
| RepositoryAuthFile | 字符串 | 可选 | 用于向仓库进行验证以进行推送的json文件的路径。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
DotNet
生成Docker并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arguments | 字符串 | 可选 | Docker指令行参数。 |
| BaseDir | 字符串 | 可选 | 运行指令的基础目录。 |
| Environment | 字符串 | 可选 | 要设置的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境变量的文件。 |
| ErrorLevel | 字符串 | 可选 | 被视为错误的最小出口代码。 |
| DotNetPath | 文件引用 | 可选 | 将路径覆盖至dotnet可执行文件。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
FindModifiedFiles
编译C#项目文件及其依赖项。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Paths | 字符串 | 必需 | 要编译的C#项目文件。使用分号可以指定多个项目文件。 |
| Change | 整型 | 可选 | 要编译的配置。 |
| MinChange | 整型 | 可选 | 要编译的配置。 |
| MaxChange | 整型 | 可选 | 要编译的配置。 |
| Output | 文件引用 | 可选 | 要写入的文件。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Git
生成Git并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arguments | 字符串 | 可选 | Git指令行参数。 |
| BaseDir | 字符串 | 可选 | 运行指令的基础目录。 |
| ErrorLevel | 整型 | 可选 | 被视为错误的最小出口代码。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Git-Clone
将Git库克隆到一个本地路径。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Dir | 字符串 | 必需 | 库的目录。 |
| Remote | 字符串 | 可选 | 要添加的遥控。 |
| Branch | 字符串 | 必需 | 遥控上要检查的分支。 |
| ConfigFile | 字符串 | 可选 | 库的配置文件。可以用于设置一个遥控来被抓取或者提供凭证。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Helm
生成Helm并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Chart | 字符串 | 必需 | Helm指令行参数。 |
| Deployment | 字符串 | 必需 | 发布的名称。 |
| Namespace | 字符串 | 可选 | Kubernetes 命名空间。 |
| KubeContext | 字符串 | 可选 | kubectl 场景。 |
| KubeConfig | 字符串 | 可选 | 要使用的kubectl配置文件。 |
| Values | 字符串 | 可选 | 运行表格所设置的数值。 |
| ValuesFile | 字符串 | 可选 | 运行表格所设置的数值。 |
| Environment | 字符串 | 可选 | 要设置的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 解析环境变量的文件。 |
| Arguments | 字符串 | 可选 | 额外的参数。 |
| WorkingDir | 字符串 | 可选 | 运行指令的基础目录。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Kubectl
生成Kubectl并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Arguments | 字符串 | 必需 | 指令行参数。 |
| BaseDir | 字符串 | 可选 | 运行指令的基础目录。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
日志
将消息(和其他可选诊断信息)打印到输出日志。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Message | 字符串 | 可选 | 要输出的消息。 |
| Files | 文件规范 | 可选 | 如果指定,会在指定消息后打印指定文件列表。 |
| IncludeContents | 布尔值 | 可选 | 如果指定,会打印指定文件的内容。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
ModifyConfig
修改一个配置文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| File | 文件规范 | 必需 | 配置文件的路径。 |
| Section | 字符串 | 必需 | 要修改的分段名称。 |
| Key | 字符串 | 必需 | 要设置的属性名称。 |
| Value | 字符串 | 必需 | 要设置的属性值。 |
| Tag | 标签列表 | 可选 | 要应用给提取的文件的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
ModifyJsonValue
通过设置key路径指定的数值来修改json文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 要修改的JSON文件路径。 |
| KeyPath | 字符串 | 必需 | 每个文件中要查找的JSON key路径。 |
| NewValue | 整型 | 必需 | 要应用的新数值。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
Move
将文件从一个目录移动到另一个目录。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 可选 | 要应用于输入文件列表的可选过滤器。 |
| From | 文件规范 | 必需 | 复制源模式(如 Engine/*.txt )。 |
| To | 文件规范 | 必需 | 复制目标目录。 |
| Overwrite | 布尔值 | 可选 | 选择文件是否要覆盖,默认为false。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
MsBuild
执行MsBuild。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Project | 字符串 | 必需 | 要编译的C#项目文件。使用分号可以指定多个项目文件。 |
| Configuration | 字符串 | 可选 | 要编译的配置。 |
| Platform | 字符串 | 可选 | 要编译的平台。 |
| Arguments | 字符串 | 可选 | 要传递到编译器的额外选项。 |
| Verbosity | 字符串 | 可选 | MSBuild输出详情。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
PakFile
根据一组给定文件创建PAK文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 要添加到PAK文件的文件、通配符和标记集列表,以 ';' 字符分隔。 |
| Output | 文件引用 | 必需 | 要输出的PAK文件。 |
| ResponseFile | 文件引用 | 可选 | 响应文件的路径,其中包含要添加到pak文件的一列文件-而不是单独指定。 |
| RebaseDir | 目录列表 | 可选 | 重新作为文件相对基础目录的目录。如果指定,列出目录下面的最短路径将用于每个文件。 |
| Order | 文件引用 | 可选 | 指定文件顺序的脚本。 |
| Sign | 文件引用 | 可选 | 该PAK文件的加密密钥。 |
| Compress | 布尔值 | 可选 | 是否压缩文件。 |
| Arguments | 字符串 | 可选 | 要传递到 UnrealPak 的额外参数。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
RandomData
在指定的输出目录中创建包含随机数据的文件。用于为临时存储系统生成测试数据。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Size | 整型 | 可选 | 每个文件的大小。 |
| Count | 整型 | 可选 | 要写入的文件数。 |
| Different | 布尔值 | 可选 | 是否为每个输出文件生成不同的数据。 |
| OutputDir | 字符串 | 可选 | 输出目录。 |
| Tag | 字符串 | 可选 | 要应用于输入文件列表的可选筛选器。 |
| If | 条件 | 可选 | 是否执行此任务。如果此条件的求值结果为false,则忽略此条件。 |
重命名
重命名一个文件或一组文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 要重命名的文件。 |
| From | 字符串 | 可选 | 当前文件名或要匹配的模式(如, *.txt )。不应包含任何路径分隔符。 |
| To | 字符串 | 必需 | 文件的新名称。不应包含任何路径分隔符。 |
| Tag | 标签列表 | 可选 | 要对重命名后的文件应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
SanitizeReceipt
该任务通过从 *.target 文件进行读取来标记构建产品和/或运行时依赖项。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 要读取的接收文件( *.target )集,包含通配符和标记名称,以分号分隔。 |
| EngineDir | Directory Reference | 可选 | 引擎文件夹的路径,用于在接收文件中扩展 $(EngineDir) 属性。默认为当前工作空间的引擎目录。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
SetVersion
使用给定版本信息更新本地版本文件 ( Engine/Source/Runtime/Launch/Resources/Version.h , Engine/Build/Build.version 和 Engine/Source/Programs/Shared/Metadata.cs )。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Change | 整型 | 必需 | 要在版本文件中设置的更改列表。 |
| CompatibleChange | 整型 | 可选 | 要在版本文件中设置的引擎兼容更改列表。 |
| Branch | 字符串 | 必需 | 分支字符串。 |
| Build | 字符串 | 可选 | 构建版本字符串。 |
| Licensee | 布尔值 | 可选 | 是否将 IS_LICENSEE_VERSION 标志设置为true。 |
| Promoted | 布尔值 | 可选 | 是否将 ENGINE_IS_PROMOTED_BUILD 标志设置为true。 |
| SkipWrite | 布尔值 | 可选 | 如果设置,不会实际写入文件,而是返回将要更新的版本文件。用于本地构建。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
登录
用已安装证书对一组可执行文件签名。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 以分号分隔的指定文件列表(如 *.cpp;Engine/.../*.bat )或标签集名称。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
生成
生成外部可执行文件并等待其完成编译。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Exe | 字符串 | 必需 | 要生成的可执行文件。 |
| Arguments | 字符串 | 可选 | 新创建进程的参数。 |
| WorkingDir | 字符串 | 可选 | 生成新任务的工作目录。 |
| Environment | 字符串 | 可选 | 要设置的环境变量。 |
| EnvironmentFile | 字符串 | 可选 | 从中读取环境的文件。 |
| LogOutput | 布尔值 | 可选 | 将输出写入日志。 |
| ErrorLevel | 整型 | 可选 | 被视为错误的最小出口代码。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
暂存
将构建接收中列出的文件暂存到输出目录。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Project | 文件引用 | 可选 | 该目标所属的项目。 |
| Target | 字符串 | 必需 | 要暂存的目标的名称。 |
| Platform | 虚幻目标平台 | 必需 | 要暂存的平台。 |
| Configuration | 虚幻目标配置 | 必需 | 要暂存的配置。 |
| Architecture | 字符串 | 可选 | 要暂存的架构。 |
| ToDir | 目录引用 | 必需 | 接收文件应该暂存到的目录。 |
| Overwrite | 布尔值 | 可选 | 是否覆盖现有文件。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
分离
从一组文件分离调试信息。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Platform | 虚幻目标平台 | 必需 | 用于分离二进制文件的平台工具链。 |
| BaseDir | 目录引用 | 可选 | 从中查找文件的目录。 |
| Files | 文件规范 | 必需 | 以分号分隔的指定文件列表(如 Engine/.../*.pdb )或标签集名称。 |
| OutputDir | 目录引用 | 可选 | 分离文件的输出目录。默认为输入路径(覆盖输入文件)。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
提交
创建一个新的更改列表,并向Perforce流提交一组文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Description | 字符串 | 必需 | 已提交更改列表的描述。 |
| Files | 文件规范 | 必需 | 要提交的文件。 |
| FileType | 字符串 | 可选 | 已提交文件的Perforce文件类型(如binary+FS32)。 |
| Workspace | 字符串 | 可选 | 工作空间名称。如果指定,则使用给定流和根目录来创建新的工作空间以用于提交文件。如果不指定,则将使用当前工作空间。 |
| Stream | 字符串 | 可选 | 工作空间的流;默认为当前流。除非同时指定了Workspace属性,否则忽略。 |
| Branch | 字符串 | 可选 | 工作空间的分支(旧版本的P4 depot路径)。不能同时与流使用。 |
| RootDir | 目录引用 | 可选 | 流的根目录。如果不指定,默认为当前根目录。 |
| RevertUnchanged | 布尔值 | 可选 | 是否先还原未更改的文件,然后再尝试提交。 |
| Force | 布尔值 | 可选 | 强制进行提交 -即使需要解析也是如此(始终接受当前版本)。 |
| P4Verbose | 布尔值 | 可选 | 允许详尽的P4输出(spew)。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
SymStore
从一组文件分离符号的任务
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Platform | 虚幻目标平台 | 必需 | 用于处理符号文件的平台工具链。 |
| Files | 字符串 | 必需 | 输出文件的列表。将从该列表中抽取PDB。 |
| StoreDir | 字符串 | 必需 | 压缩符号的输出目录。 |
| Product | 字符串 | 必需 | 符号存储记录的产品名称。 |
| Branch | 字符串 | 可选 | 作为所有库源文件来源基础的分支的名称。当IndexSources为true时使用(只能在某些平台上使用)。 |
| Change | 整型 | 可选 | 所有库源文件都已同步到的变更列表。当IndexSources为true时使用(只能在某些平台上使用)。 |
| BuildVersion | 字符串 | 可选 | 与这些符号关联的构建版本。用于通过将该版本与构建共享中的目录名称匹配以在AgeStore实现清理。 |
| IndexSources | 布尔值 | 可选 | 是否在上传的符号中包含源代码索引。启用后,该任务将生成源服务器所需的数据(仅支持某些平台和版本控制服务器)。源服务器允许调试器在调试版本或分析转储时自动获取匹配的源代码。 |
| SourceFiles | 字符串 | 可选 | 用于要建立索引的库源文件的筛选器。它是一个用分号分隔的Perforce筛选器列表,例如, Engine/....cpp;Engine/....h 。它也可以是以前定义的标签的名称,例如, #SourceFiles ——当 IndexSources 为true时使用(只能在某些平台上使用)。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
标签
对一组给定文件应用标记。通过列举标记和通过 Files 参数指定的文件找到文件列表。从该列表,任何没有被 Files 参数匹配的文件都将被移除,后跟 Except 参数匹配的任何文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| BaseDir | 目录引用 | 可选 | 设置基本目录以用于解析相对路径和模式。如果设置,则任何绝对模式(例如 /Engine/Build/... )将相对于该路径。如果不设置,则视为真正的绝对路径。 |
| Files | 文件规范 | 可选 | 要从中工作的文件集,包括通配符和标记名称,以分号分隔。如果设置了BaseDir,则解析为相对于BaseDir,否则相对于分支根目录。 |
| FileLists | 文件规范 | 可选 | 要从中添加额外文件的文本文件集。每个文件列表都应在每一行有一个文件。 |
| Filter | 文件规范 | 可选 | 用于过滤文件列表的模式,包括标记名称或通配符。许多包含适用于基本目录(如果设置)的模式。如果不指定,默认为所有文件。 |
| Except | 文件规范 | 可选 | 要从匹配列表中排除的模式集。许多包含适用于基本目录的模式的标记名称。 |
| With | 标签列表 | 必需 | 要应用的标记名称。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
TagReceipt
该任务通过从 *.target 文件进行读取来标记构建产品和/或运行时依赖项。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Files | 文件规范 | 必需 | 要读取的接受文件( *.target )集,包含通配符和标记名称,以分号分隔。 |
| EngineDir | 目录引用 | 可选 | 引擎文件夹的路径,用于在接收文件中扩展 $(EngineDir) 属性。默认为当前工作空间的引擎目录。 |
| ProjectDir | 目录引用 | 可选 | 项目文件夹的路径,用于在接收文件中扩展 $(ProjectDir) 属性。默认为当前工作空间的引擎目录。已弃用。 |
| BuildProducts | 布尔值 | 可选 | 是否标记接收中列出的构建产品。 |
| BuildProductType | String | 可选 | 要标记的构建产品类型(请参阅 TargetReceipt.cs - UnrealBuildTool.BuildProductType 以了解有效值)。 |
| RuntimeDependencies | 布尔值 | 可选 | 是否标记接收中列出的运行时依赖项。 |
| StagedFileType | String | 可选 | 要标记的运行时依赖项类型(请参阅 TargetReceipt.cs - UnrealBuildTool.StagedFileType 以了解有效值)。 |
| With | 标签列表 | 必需 | 要应用的标记名称。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
解压
从zip归档解压文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| ZipFile | 文件规范 | 必需 | 要解压的zip文件的路径。 |
| ToDir | 目录引用 | 必需 | 解压文件的输出目录。 |
| UseLegacyUnzip | 布尔值 | 可选 | 是否使用旧版本解压代码。 |
| Tag | 标签列表 | 可选 | 要应用于解压文件的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
上传
将一组文件上传到Jupiter用于以后取回。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| FromDir | 目录引用 | 必需 | 读取压缩文件的目录。 |
| Files | 文件规范 | 可选 | 以分号分隔的指定文件列表(如 *.cpp;Engine/.../*.bat )或标签集名称。相对路径取自FromDir。 |
| JupiterNamespace | 字符串 | 必需 | 用于上传构建的jupiter命名空间。可以控制构建的访问权限。 |
| JupiterKey | 字符串 | 必需 | 用于再次下载构建的key。必须针对这一个上传的构建全局独特。 |
| ArchiveType | 字符串 | 必需 | 这些文件来自的归档类型,将会被添加至元数据。 |
| ProjectName | 字符串 | 必需 | 该组文件关联的项目的名称,将会被添加至元数据。 |
| Branch | 字符串 | 必需 | 生成这些文件的源控制分支,将会被添加至元数据。 |
| Changelist | 字符串 | 必需 | 生成这些文件的源控制校订,将会被添加至元数据。 |
| JupiterUrl | 字符串 | 必需 | 指定要上传至的Jupiter实例。 |
| AdditionalMetadata | 字符串 | 可选 | 要添加到元数据的 '=' 分隔键值映射列表,用分号隔开。如 Foo=bar;spam=eggs 。 |
| LimitMemoryUsage | 布尔值 | 可选 | 启用后,文件内容不会保留在内存中,从而减少内存占用,但是增加了io,因为文件内容需要多次读取(既用于哈希也用于上传)。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
等待
等待指定的秒数。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| Seconds | 整型 | 必需 | 要等待的秒数。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
WriteTextFile
将文本写入一个文件。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| File | 文件引用 | 必需 | 要写入的文件路径。 |
| Append | 布尔值 | 可选 | 可选,是否要添加到文件,而不是覆盖文件内容。 |
| Text | 字符串 | 可选 | 要写入文件的文本。 |
| Files | 文件规范 | 可选 | 如指定,会在给出的信息后面打印给出的文件列表。 |
| Tag | 标签列表 | 可选 | 为构建该任务的产品而应用的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |
压缩
将文件压缩为zip归档。
| 属性 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| FromDir | 目录引用 | 必需 | 从中读取压缩文件的目录。 |
| Files | 文件规范 | 可选 | 以分号分隔的指定文件列表(如 *.cpp;Engine/.../*.bat )或标签集名称。相对路径取自FromDir。 |
| ZipFile | 文件引用 | 必需 | 要创建的zip文件。 |
| Tag | 标签列表 | 可选 | 要应用于已创建zip文件的标记。 |
| If | 条件 | 可选 | 是否执行该任务。如果该值判定为false,则忽略。 |