介绍

本参考指南描述了构成 Gradle 构建语言(DSL)的各种类型。

一些基础知识

您应该了解一些基本概念,这将有助于您编写 Gradle 脚本。

首先,Gradle脚本是配置脚本。当脚本执行时,它会配置特定类型的对象。例如,当构建脚本执行时,它会配置类型为 的对象Project。该对象称为 脚本的委托对象。下表显示了每种类型的 Gradle 脚本的委托。

脚本类型 代表到实例
构建脚本 Project
初始化脚本 Gradle
设置脚本 Settings

委托对象的属性和方法可供您在脚本中使用。

其次,每个 Gradle 脚本都实现该Script接口。该接口定义了许多可以在脚本中使用的属性和方法。

构建脚本结构

构建脚本由零个或多个语句和脚本块组成。语句可以包括方法调用、属性分配和局部变量定义。脚本块是一种以闭包作为参数的方法调用。闭包被视为配置闭包,它在执行时配置一些委托对象。下面列出了顶级脚本块。

堵塞描述
allprojects { }

配置此项目及其每个子项目。

artifacts { }

配置该项​​目的已发布工件。

buildscript { }

配置该项​​目的构建脚本类路径。

configurations { }

配置该项​​目的依赖配置。

dependencies { }

配置此项目的依赖项。

repositories { }

配置该项​​目的存储库。

sourceSets { }

配置该项​​目的源集。

subprojects { }

配置该项​​目的子项目。

publishing { }

配置PublishingExtension发布插件添加的内容。

构建脚本也是 Groovy 脚本,因此可以包含 Groovy 脚本中允许的元素,例如方法定义和类定义。

核心类型

下面列出了 Gradle 脚本中使用的一些主要类型:

类型描述
Project

该接口是您用来从构建文件与 Gradle 交互的主要 API。从Project,您可以通过编程方式访问 Gradle 的所有功能。

Task

ATask代表构建的单个原子工作,例如编译类或生成 javadoc。

Gradle

代表 Gradle 的调用。

Settings

Project声明实例化和配置要参与构建的实例层次结构所需的配置。

IncludedBuild

包含在组合中的构建。

ProjectLayout

提供对项目的几个重要位置的访问。

BuildLayout

提供对 Gradle 构建重要位置的访问。

Script

该接口由所有 Gradle Groovy DSL 脚本实现,以添加一些特定于 Gradle 的方法。由于您编译的脚本类将实现此接口,因此您可以直接在脚本中使用此接口声明的方法和属性。

SourceSet

ASourceSet代表 Java 源文件和资源文件的逻辑组。用户手册中对它们进行了更详细的介绍 。

SourceSetOutput

所有输出目录(编译的类、处理的资源等)的集合 - 请注意SourceSetOutputextends FileCollection.

SourceDirectorySet

ASourceDirectorySet表示由一组源目录以及关联的包含和排除模式组成的一组源文件。

Configuration

AConfiguration代表一组工件及其依赖项。在文档中查找有关声明配置依赖项或管理配置的更多信息ConfigurationContainer

ConsumableConfiguration

可以Configuration通过发布和依赖管理来使用。

ResolvableConfiguration

Configuration执行依赖关系解析以构建依赖关系图并解析工件。

DependencyScopeConfiguration

收集依赖项Configuration、依赖项约束和排除规则。

ResolutionStrategy

定义围绕依赖解析的策略。例如,强制某些依赖项版本、替换、冲突解决或快照超时。

ArtifactResolutionQuery

用于构造查询的构建器,该查询可以解析指定组件的选定软件工件。

ComponentSelection

表示模块的组件选择器和组件选择规则中要评估的候选版本的元组。

ComponentSelectionRules

表示组件选择规则的容器。规则可以作为配置的解决策略的一部分应用,并且规则可以明确地接受或拒绝各个组件。既不接受也不拒绝的组件将遵循默认的版本匹配策略。

DependencyCollector

ADependencyCollector用作 DSL 中依赖项块的一部分。收集器实现单个依赖范围并公开声明的依赖关系DependencyCollector.getDependencies()

ExtensionAware

可以在运行时用其他对象扩展的对象。

ExtraPropertiesExtension

Gradle 域对象的附加、临时属性。

PluginDependenciesSpec

用于声明要在脚本中使用的插件的 DSL。

PluginDependencySpec

对插件的依赖的可变规范。

PluginManagementSpec

配置插件的解析方式。

ProviderFactory

用于创建 的实例的工厂Provider

ResourceHandler

提供对特定于资源的实用程序方法的访问,例如创建各种资源的工厂方法。

TextResourceFactory

创建TextResource由字符串、文件和存档条目等源支持的 s。

InputChanges

提供对需要由增量工作操作处理的任何输入文件的访问。

Distribution

发行版允许捆绑应用程序或库,包括依赖项、源...

出版类型

下面列出了用于配置发布的类型:

类型描述
PublishingExtension

配置如何“发布”项目的不同组件。

IvyPublication

AnIvyPublication是 Gradle 如何将 Ivy 格式的内容发布到 Ivy 存储库的表示/配置。您publishing.publications可以通过提供IvyPublication类型来 直接将命名的 Ivy 发布添加到项目的容器中。

IvyArtifact

作为IvyPublication.

IvyArtifactSet

IvyArtifact要包含在 中的 s的集合IvyPublication。作为 a DomainObjectSet, anIvyArtifactSet提供了查询、过滤以及对 s 集合应用操作的便捷方法IvyArtifact

IvyModuleDescriptorSpec

任何 Ivy 出版物的描述符。

IvyModuleDescriptorAuthor

常春藤出版物的作者。

IvyModuleDescriptorLicense

常春藤出版物的许可证。

IvyModuleDescriptorDescription

Ivy 出版物的描述。

MavenPublication

AMavenPublication是 Gradle 应如何以 Maven 格式发布内容的表示/配置。您可以通过提供类型来 直接将命名的 Maven 发布添加到项目的publishing.publications容器中。MavenPublication

MavenArtifact

作为MavenPublication.

MavenArtifactSet

MavenArtifact要包含在 中的 s的集合MavenPublication。作为 a DomainObjectSet, aMavenArtifactSet提供了查询、过滤以及对 s 集合应用操作的便捷方法MavenArtifact

MavenPom

Maven 发布的 POM。

MavenPomCiManagement

Maven发布的CI管理系统。

MavenPomContributor

Maven 出版物的贡献者。

MavenPomContributorSpec

允许添加 Maven 发布的贡献者。

MavenPomDeveloper

Maven 出版物的开发人员。

MavenPomDeveloperSpec

允许将开发人员添加到 Maven 发布。

MavenPomDistributionManagement

Maven 发布的分发管理配置。

MavenPomIssueManagement

Maven 发布的问题管理系统。

MavenPomLicense

Maven 出版物的许可证。

MavenPomLicenseSpec

允许向 Maven 发布添加许可证。

MavenPomMailingList

Maven 出版物的邮件列表。

MavenPomMailingListSpec

允许将邮件列表添加到 Maven 发布。

MavenPomOrganization

Maven 出版物的组织。

MavenPomRelocation

已移动到新组和/或工件 ID 的 Maven 发布的重定位信息。

MavenPomScm

Maven 发布的 SCM(源代码控制管理)。

集装箱类型

处理各种声明性元素(例如依赖项、配置、工件、任务等)的容器类型:

类型描述
TaskContainer

ATaskContainer负责管理一组Task实例。

ConfigurationContainer

AConfigurationContainer负责声明和管理配置。也可以看看Configuration

RepositoryHandler

ARepositoryHandler管理一组存储库,允许定义和查询存储库。

DependencyHandler

ADependencyHandler用于声明依赖关系。依赖关系被分组为配置(请参阅 参考资料Configuration)。

ComponentMetadataHandler

允许构建提供修改依赖的软件组件的元数据的规则。组件元数据规则应用于 DependencyHandler构建脚本的依赖项块的组件部分。规则可以通过两种不同的方式定义:

ArtifactHandler

此类用于定义要发布的工件并将其添加到配置中。创建发布工件并不意味着创建存档。创建的是一个域对象,它代表要发布的文件以及有关如何发布该文件的信息(例如名称)。

认证类型

用于连接到存储库的凭据和身份验证类型:

类型描述
AuthenticationSupported

支持用户名/密码身份验证的工件存储库。

Credentials

用于不同身份验证目的的凭据的基本接口。 (例如已验证RepositoryHandler

PasswordCredentials

可用于登录受密码保护的远程存储库的用户名/密码凭据。

AwsCredentials

表示用于通过 Amazon Web Services 进行身份验证的凭证。

HttpHeaderCredentials

可用于登录受保护服务器的凭据,例如使用 HTTP 标头登录远程存储库。用于从属性创建凭证的属性是repoAuthHeaderNamerepoAuthHeaderValue,其中repo是存储库的标识。

AuthenticationContainer

用于配置类型的存储库身份验证方案的容器Authentication

Authentication

传输认证方案的基本接口。

BasicAuthentication

通过 HTTP 进行基本访问身份验证的身份验证方案。使用此方案时,会抢先发送凭证。

HttpHeaderAuthentication

通过 HTTP 进行 HTTP 标头身份验证的身份验证方案。

DigestAuthentication

通过 HTTP 进行摘要访问身份验证的身份验证方案。

构建缓存类型

用于连接和配置构建缓存的类型:

类型描述
BuildCacheConfiguration

整个 Gradle 构建的构建缓存配置。

DirectoryBuildCache

本地目录构建缓存的配置对象。

HttpBuildCache

HTTP 构建缓存的配置对象。缓存条目通过 GET 加载并通过 PUT 请求存储。

输入标准化类型

用于配置输入标准化的类型

类型描述
InputNormalizationHandler

用于配置输入标准化。目前,只能配置运行时类路径规范化。

InputNormalization

输入标准化配置。当 Gradle 尝试确定两个任务输入是否不同时,将使用输入标准化。 Gradle 对两个输入进行标准化,当且仅当标准化不同时,输入才被视为不同。

RuntimeClasspathNormalization

运行时类路径规范化的配置。

帮助 任务类型

以下是每个 Gradle 项目可用的任务类型。这些任务类型也可以直接在构建脚本中声明和配置。

类型描述
TaskReportTask

显示项目中的任务列表。当您tasks从命令行执行任务时,将使用此类型的实例。

ProjectReportTask

显示构建中的项目列表。当您projects 从命令行执行任务时,将使用此类型的实例。

DependencyReportTask

显示项目的依赖关系树。当您dependencies从命令行执行任务时,将使用此类型的实例。

DependencyInsightReportTask

生成一份报告,尝试回答以下问题:

PropertyReportTask

显示项目的属性。当您properties从命令行执行任务时,将使用此类型的实例。

ComponentReport

显示有关项目生成的软件组件的一些详细信息。

DependentComponentsReport

显示依赖组件。

ModelReport

显示有关项目配置模型的一些详细信息。当您model从命令行执行任务时,将使用此类型的实例。

OutgoingVariantsReportTask

在命令行上报告项目的传出变体的任务。这对于列出项目在变体方面产生的内容以及每个变体附加了哪些工件非常有用。在这种情况下,变体必须被理解为“一个项目产生的东西可以被另一个项目安全地使用”。

ResolvableConfigurationsReportTask

报告可以在命令行上解析的项目配置的任务。这对于确定哪些属性与用于解析项目依赖项的可解析配置相关联非常有用。输出可以帮助预测每个依赖项的哪个变体将得到解决。

任务类型

下面列出了可在构建脚本中使用的各种任务类型:

类型描述
AntlrTask

从 Antlr 语法生成解析器。

BuildEnvironmentReportTask

提供有关与任务关联的项目的构建环境的信息。

Checkstyle

针对某些源文件运行 Checkstyle。

CodeNarc

针对某些源文件运行 CodeNarc。

Copy

将文件复制到目标目录中。此任务还可以在复制时重命名和过滤文件。该任务实现CopySpec指定要复制的内容。

CreateStartScripts

创建用于启动 JVM 应用程序的启动脚本。

Delete

删除文件或目录。例子:

Ear

组装 EAR 档案。

Exec

执行命令行进程。例子:

GenerateIvyDescriptor

生成 Ivy XML 模块描述符文件。

GenerateMavenPom

生成 Maven 模块描述符 (POM) 文件。

GenerateBuildDashboard

生成构建仪表板报告。

GradleBuild

执行 Gradle 构建。

GroovyCompile

编译 Groovy 源文件,也可以编译 Java 源文件。

Groovydoc

为 Groovy 源和(可选)Java 源生成 HTML API 文档。

HtmlDependencyReportTask

生成 HTML 依赖性报告。此报告结合了 ASCII 依赖性报告和 ASCII 依赖性洞察报告的功能。对于给定的项目,它会生成每个配置的依赖关系树,并且可以单击每个依赖关系来显示该依赖关系的见解。

JacocoReport

生成 Jacoco 覆盖率数据的 HTML、Xml 和 CSV 报告的任务。

JacocoCoverageVerification

验证代码覆盖率指标的任务。如果根据指定规则检测到违规行为,则任务失败。

Jar

组装 JAR 存档。

JavaCompile

编译 Java 源文件。

Javadoc

为 Java 类生成 HTML API 文档。

JavaExec

在子进程中执行 Java 应用程序。

Pmd

对 Java 源代码文件运行一组静态代码分析规则并生成所发现问题的报告。

ProcessResources

将资源从源复制到目标目录,并可能对其进行处理。确保目标目录中没有保留过时的资源。

PublishToIvyRepository

将 IvyPublication 发布到 IvyArtifactRepository。

PublishToMavenRepository

将 a 发布MavenPublication到 a MavenArtifactRepository

ScalaCompile

编译 Scala 源文件,也可以编译 Java 源文件。

ScalaDoc

为 Scala 源文件生成 HTML API 文档。

InitBuild

生成 Gradle 项目结构。

Sign

为一个或多个创建数字签名文件的任务;任务、文件、可发布的工件或配置。

Sync

将目标目录的内容与某些源目录和文件同步。

Tar

组装 TAR 存档。

AbstractTestTask

所有测试任务的抽象类。

Test

执行 JUnit(3.8.x、4.x 或 5.x)或 TestNG 测试。测试始终在(一个或多个)单独的 JVM 中运行。

TestReport

根据一项或多项任务的结果生成 HTML 测试报告Test

War

组装 WAR 档案。

Wrapper

生成脚本(适用于 *nix 和 windows),允许您使用 Gradle 构建项目,而无需安装 Gradle。

WriteProperties

Properties以预期结果可重现的方式 编写 a 。

Zip

组装 ZIP 存档。默认是压缩 zip 的内容。

测试类型

下面列出了与建模测试套件相关的任务和可配置对象:

类型描述
TestingExtension

该 DSL 元素的存在是为了包含 s 的集合TestSuite

TestSuite

基本测试套件组件。测试套件是测试的集合。

JvmTestSuite

测试套件是基于 JVM 的测试的集合。

TestSuiteTarget

基本测试套件目标。测试套件目标是在特定上下文(操作系统、Java 运行时等)中运行的测试的集合。

JvmTestSuiteTarget

JvmTestSuite定义将运行a 的目标环境。

Test

执行 JUnit(3.8.x、4.x 或 5.x)或 TestNG 测试。测试始终在(一个或多个)单独的 JVM 中运行。

Dependencies

适用于所有dependencies块的通用 API。

GradleDependencies

依赖 API 可用于dependencies可以构建依赖于 Gradle API 的软件的块。

TestFixturesDependencyModifiers

依赖修饰符 API,可以在其他模块中查找dependencies块的测试装置。

PlatformDependencyModifiers

依赖修饰符 API,可以在dependencies块的其他模块中查找平台和强制平台。

JvmComponentDependencies

该 DSL 元素用于向组件添加依赖项,例如TestSuite

报告类型

下面列出了生成报告时使用的一些类型:

类型描述
CustomizableHtmlReport

可以使用 XSLT 样式表自定义其生成的 HTML 报告。

SingleFileReport

报告是单个文件。

DirectoryReport

要创建的基于目录的报告。

Report

要创建的基于文件的报告。

Reporting

提供报告选项的对象。

ReportContainer

Report代表潜在报告的对象 容器。

ReportingExtension

名为“reporting”的项目扩展,提供基本的报告设置和实用程序。

AggregateTestReport

用于聚合测试报告输入的容器。

JacocoCoverageReport

用于聚合 JaCoCo 代码覆盖率报告输入的容器。

Eclipse/IDEA 模型类型

用于配置Eclipse或IDEA插件

类型描述
EclipseModel

DSL 友好模型的 Eclipse 项目信息。自定义 Eclipse 项目生成的第一个切入点。

EclipseProject

启用 Eclipse 插件的项目详细信息(.project 文件)的微调

EclipseClasspath

生成的 Eclipse 项目的构建路径设置。任务使用它 GenerateEclipseClasspath来生成 Eclipse .classpath 文件。

EclipseJdt

启用 Eclipse 插件的 jdt 细节微调

EclipseWtp

启用 Eclipse 插件的 wtp/wst 细节微调

EclipseWtpComponent

允许微调 Eclipse 插件的 wtp 组件详细信息

EclipseWtpFacet

启用 Eclipse 插件的 wtp 方面详细信息的微调

IdeaModel

IDEA 项目信息的 DSL 友好模型。定制 IDEA 生成的第一个切入点。

IdeaProject

启用 IDEA 插件的项目详细信息(*.ipr 文件)的微调。

IdeaModule

启用 IDEA 插件的微调模块详细信息(*.iml 文件)。

IdeaWorkspace

启用 IDEA 插件的工作区详细信息(*.iws 文件)的微调。

XmlFileContentMerger

对生成/解析/合并功能进行建模。添加与 XML 相关的挂钩。

FileContentMerger

对生成/解析/合并功能进行建模。

Eclipse/IDEA 任务类型

由 IDE 插件贡献的任务。要配置 IDE 插件,请使用 IDE 模型类型。

类型描述
GenerateEclipseProject

生成 Eclipse.project文件。如果你想微调 eclipse 配置

GenerateEclipseClasspath

生成 Eclipse.classpath文件。如果你想微调 eclipse 配置

GenerateEclipseJdt

生成 Eclipse JDT 配置文件。如果你想微调 eclipse 配置

GenerateEclipseWtpComponent

生成 Eclipse WTP 的 org.eclipse.wst.common.component 设置文件。如果你想微调 eclipse 配置

GenerateEclipseWtpFacet

生成 Eclipse WTP 的 org.eclipse.wst.common.project.facet.core 设置文件。如果你想微调 eclipse 配置

GenerateIdeaModule

生成 IDEA 模块文件。如果你想微调idea配置

GenerateIdeaProject

*仅*为根项目生成 IDEA 项目文件。如果你想微调idea配置

GenerateIdeaWorkspace

*仅*为根项目生成 IDEA 工作区文件。目前您几乎无法配置有关工作区生成的信息。

Xcode 任务类型

由 Xcode IDE 插件贡献的任务。要配置 IDE 插件,请使用 IDE 模型类型。

类型描述
GenerateSchemeFileTask

生成 Xcode 方案文件的任务(例如Foo.xcodeproj/xcshareddata/xcschemes/Foo.xcscheme)。 Xcode 方案定义了要构建的目标集合、构建时要使用的配置以及要执行的测试集合。

GenerateWorkspaceSettingsFileTask

用于生成 Xcode 工作区设置文件的任务(例如Foo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings)。

GenerateXcodeProjectFileTask

生成 Xcode 项目文件的任务(例如Foo.xcodeproj/project.pbxproj)。项目包含用于构建产品的所有元素并维护这些元素之间的关系。它包含一个或多个目标,指定如何构建产品。项目为项目中的所有目标定义默认构建设置(每个目标还可以指定自己的构建设置,这会覆盖项目构建设置)。

GenerateXcodeWorkspaceFileTask

用于生成 Xcode 工作区文件的任务(例如Foo.xcworkspace/contents.xcworkspacedata)。一个工作区可以包含任意数量的 Xcode 项目。

Visual Studio 任务类型

由 Visual Studio IDE 插件贡献的任务。要配置 IDE 插件,请使用 IDE 模型类型。

类型描述
GenerateSolutionFileTask

用于生成 Visual Studio 解决方案文件的任务(例如foo.sln)。

GenerateProjectFileTask

用于生成 Visual Studio 项目文件的任务(例如foo.vcxproj)。

GenerateFiltersFileTask

用于生成 Visual Studio 过滤器文件的任务(例如foo.vcxproj.filters)。

工件变换类型

用于定义工件变换。

类型描述
TransformAction

工件转换操作的接口。

TransformOutputs

工件变换的输出。

TransformSpec

工件转换注册的基本配置。

本机工具链模型类型

用于配置用于构建 C++ 和 Swift 组件的工具链。

类型描述
Gcc

GNU GCC工具链。

Clang

Clang工具链。

VisualCpp

Visual C++ 工具链。

Swiftc

Swift编译器工具链。

本机软件模型类型

用于配置使用本机代码开发的软件组件。

类型描述
PrebuiltLibrary

不是由 gradle 构建的库组件。

PrebuiltSharedLibraryBinary

存在于文件系统上已知位置的共享库。

PrebuiltStaticLibraryBinary

存在于文件系统上已知位置的静态库。

NativeComponentSpec

由 Gradle 构建以在 JVM 平台上运行的软件组件的定义。

NativeExecutableSpec

将由 Gradle 构建的本机可执行组件的定义。

NativeLibrarySpec

将由 Gradle 构建的本机库组件的定义。

NativeTestSuiteSpec

代表将一起执行的一组测试的组件。

CUnitTestSuiteSpec

CUnit 测试的测试套件。

GoogleTestTestSuiteSpec

Google Test 测试的测试套件。

NativeBinarySpec

表示二进制工件,它是构建本机组件的结果。

NativeExecutableBinarySpec

由 Gradle 为本机应用程序构建的二进制文件。

NativeLibraryBinarySpec

表示二进制工件,它是构建本机库组件的结果。

SharedLibraryBinarySpec

由 Gradle 为本机库构建的共享库二进制文件。

StaticLibraryBinarySpec

由 Gradle 为本机库构建的静态库二进制文件。

NativeTestSuiteBinarySpec

运行一组测试的可执行文件。

CUnitTestSuiteBinarySpec

运行 CUnit 测试套件的可执行文件。

GoogleTestTestSuiteBinarySpec

运行 Google Test 测试套件的可执行文件。

NativePlatform

用于构建本机二进制文件的目标平台。每个目标平台都有一个名称,并且可以选择指定一个特定的Architecture和/或OperatingSystem目标。

BuildType

指定本机二进制文件的构建类型。常见的构建类型是“调试”和“发布”,但也可以定义其他类型。

Flavor

定义区分 的自定义变体NativeBinary

AssemblerSourceSet

一组汇编语言源。

CSourceSet

一组 C 源文件。

CppSourceSet

一组 C++ 源文件。

ObjectiveCSourceSet

一组 Objective-C 源文件。

ObjectiveCppSourceSet

一组 Objective-C++ 源文件。

WindowsResourceSet

一组 Windows 资源定义文件。

VisualStudioProject

一种视觉工作室项目,由一个或多个本机二进制文件创建。

VisualStudioSolution

一种 Visual Studio 解决方案,代表构建中的一个或多个本机二进制文件。

NativeExecutable

由 Gradle 构建的可执行本机组件。

NativeLibrary

由 gradle 项目构建的库组件。

NativeBinary

代表特定的二进制工件。

NativeExecutableBinary

的二进制工件NativeExecutable,针对具有特定配置的特定平台。

SharedLibraryBinary

NativeLibrary已编译并链接为共享库。

StaticLibraryBinary

NativeLibrary已编译并归档到静态库中的A。

C++ 组件模型类型

用于配置 C++ 组件。

类型描述
CppApplication

C++ 应用程序的配置,定义组成应用程序的源文件以及其他设置。

CppLibrary

C++ 库的配置,定义构成库的源文件和头目录以及其他设置。

CppTestSuite

C++ 测试套件。

Swift 组件模型类型

用于配置 Swift 组件。

类型描述
SwiftApplication

Swift 应用程序的配置,定义组成应用程序的源文件以及其他设置。

SwiftLibrary

Swift 库的配置,定义构成该库的源文件以及其他设置。

SwiftXCTestSuite

一个 XCTest 套件,用 Swift 实现。

本机二进制任务类型

用于构建本机二进制文件的任务。

类型描述
CppCompile

将 C++ 源文件编译为目标文件。

SwiftCompile

将 Swift 源文件编译为目标文件。

LinkExecutable

从目标文件和库链接二进制可执行文件。

LinkSharedLibrary

从目标文件和导入的库链接二进制共享库。

CreateStaticLibrary

从目标文件组装静态库。

LinkMachOBundle

从目标文件和导入的库链接二进制包。

InstallExecutable

安装可执行文件及其依赖库,以便可以轻松执行。

InstallXCTestBundle

创建带有运行脚本的 XCTest 包,以便可以轻松执行。

RunTestExecutable

运行编译并安装的测试可执行文件。

XCTest

执行 XCTest 测试。测试始终在单次执行中运行。

本机二进制任务类型

用于构建本机二进制文件的任务。

类型描述
CCompile

将 C 源文件编译为目标文件。

Assemble

将汇编语言源文件翻译成目标文件。

ObjectiveCCompile

将 Objective-C 源文件编译为目标文件。

ObjectiveCppCompile

将 Objective-C++ 源文件编译为目标文件。

WindowsResourceCompile

将 Windows 资源脚本编译为 .res 文件。