API文档: | Wrapper |
---|
生成脚本(适用于 *nix 和 windows),允许您使用 Gradle 构建项目,而无需安装 Gradle。
当用户第一次执行包装器脚本时,该脚本会下载并安装适当的 Gradle 发行版,并针对此下载的发行版运行构建。使用包装器脚本时,任何已安装的 Gradle 发行版都会被忽略。
此任务生成的脚本旨在提交到您的版本控制系统。此任务还会生成一个小型gradle-wrapper.jar
引导 JAR 文件和属性文件,这些文件也应提交到您的 VCS。脚本委托给这个 JAR。
财产 | 描述 |
actions |
|
ant | 对于 |
archiveBase | 存档库指定解压的包装器发行版是否应存储在项目中或 gradle 用户主目录中。 |
archivePath | gradle 发行版存档的保存路径(即父目录)。该路径是相对于存档基目录的。 |
convention | 已弃用
|
dependsOn | 该任务的依赖关系。 |
description | 此任务的描述。 |
destroyables | 此任务的可破坏物。 |
didWork | 检查任务是否确实完成了任何工作。即使一个Task执行了,它也可能确定它没有任何事可做。例如,编译任务可以确定自上次运行该任务以来源文件没有更改。 |
distributionBase | 分发库指定解压的包装器分发是否应存储在项目中或 gradle 用户主目录中。 |
distributionPath | 包装器所需的 gradle 发行版解压缩的路径。该路径是相对于分发基目录的 |
distributionType | 包装器要使用的 Gradle 发行版的类型。 |
distributionUrl | 下载 gradle 发行版的 URL。 |
enabled | 返回此任务是否启用。 |
extensions | 扩展的容器。 |
finalizedBy | 返回完成此任务的任务。 |
gradleVersion | 包装器的 gradle 版本。 |
group | 该任务所属的任务组。任务组用于报告和用户界面中,以便在向用户呈现任务列表时将相关任务分组在一起。 |
inputs | 此任务的输入。 |
jarFile | 将包装器 jar 文件写入其中的文件。 |
localState | 此任务的本地状态。 |
logger | 此任务的记录器。您可以在构建文件中使用它来写入日志消息。 |
logging | 可 |
mustRunAfter | 返回此任务必须在其之后运行的任务。 |
name | 此任务的名称。该名称唯一标识其 中的任务 |
networkTimeout | 孵化 网络超时指定包装器执行网络操作(例如下载包装器 jar)时等待的毫秒数。 |
outputs | 该任务的输出。 |
path | 任务的路径,这是任务的完全限定名称。任务的路径是其路径 |
project |
|
propertiesFile | 将包装器属性写入其中的文件。 |
scriptFile | 将包装器脚本写入其中的文件。 |
shouldRunAfter | 返回此任务应在其后运行的任务。 |
state | 该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。 |
taskDependencies | 返回一个 |
temporaryDir | 返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。 |
timeout | 该任务的超时时间。 |
validateDistributionUrl | 孵化 指示此任务是否将验证已配置的分发 URL。 |
方法 | 描述 |
dependsOn(paths) | 将给定的依赖项添加到此任务。有关可用作任务依赖项的对象类型的描述,请参阅此处。 |
doFirst(action) | 将给定的闭包添加到该任务的操作列表的开头。执行时,闭包将作为参数传递给该任务。 |
doFirst(actionName, action) | 将给定添加 |
doFirst(action) | 将给定添加 |
doLast(action) | 将给定的闭包添加到该任务操作列表的末尾。执行时,闭包将作为参数传递给该任务。 |
doLast(actionName, action) | 将给定添加 |
doLast(action) | 将给定添加 |
doNotTrackState(reasonNotToTrackState) | 不跟踪任务的状态。 |
finalizedBy(paths) | 为此任务添加给定的终结器任务。 |
hasProperty(propertyName) | 确定此任务是否具有给定属性。有关任务可用属性的详细信息,请参阅此处。 |
mustRunAfter(paths) | 指定此任务必须在所有提供的任务之后运行。 |
onlyIf(onlyIfClosure) | 仅当给定的闭包返回 true 时才执行任务。闭包将在任务执行时评估,而不是在配置期间评估。闭包将传递一个参数,即此任务。如果闭包返回 false,则任务将被跳过。 |
onlyIf(onlyIfReason, onlyIfSpec) | 孵化 仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。 |
onlyIf(onlyIfSpec) | 仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。 |
property(propertyName) | 返回此任务的给定属性的值。该方法按如下方式定位属性: |
setProperty(name, value) | 设置此任务的属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。 |
shouldRunAfter(paths) | 指定此任务应在所有提供的任务之后运行。 |
usesService(service) | 注册 |
AntBuilder
ant
(只读)
对于AntBuilder
这个任务。您可以在构建文件中使用它来执行 ant 任务。
Convention
convention
(只读)
注意:此属性已弃用,并将在 Gradle 的下一个主要版本中删除。
Convention
此任务的对象。APlugin
可以使用约定对象来为此任务提供属性和方法。
String
description
此任务的描述。
TaskDestroyables
destroyables
(只读)
此任务的可破坏物。
String
distributionUrl
下载 gradle 发行版的 URL。
如果未设置,则下载 URL 为指定的默认Wrapper.getGradleVersion()
.
如果Wrapper.getGradleVersion()
未设置,将返回 null。
包装器仅下载某个发行版一次并将其缓存。如果您的发行版基础是项目,您可以将发行版提交到版本控制系统。这样就根本不需要下载。如果您向包装器提供自定义 gradle 快照,这可能会特别有趣,因为那时您不需要提供下载服务器。
- 默认:
"http\://services.gradle.org/distributions/gradle-${gradleVersion}-bin.zip"
(或"http\://services.gradle.org/distributions-snapshots/gradle-${gradleVersion}-bin.zip"
对于快照版本)。
ExtensionContainer
extensions
(只读)
扩展的容器。
TaskDependency
finalizedBy
返回完成此任务的任务。
String
group
该任务所属的任务组。任务组用于报告和用户界面中,以便在向用户呈现任务列表时将相关任务分组在一起。
TaskInputs
inputs
(只读)
此任务的输入。
TaskLocalState
localState
(只读)
此任务的本地状态。
Logger
logger
(只读)
此任务的记录器。您可以在构建文件中使用它来写入日志消息。
LoggingManager
logging
(只读)
可LoggingManager
用于接收日志记录并控制此任务的标准输出/错误捕获。默认情况下,System.out 以 QUIET 日志级别重定向到 Gradle 日志系统,System.err 以 ERROR 日志级别重定向。
TaskDependency
mustRunAfter
返回此任务必须在其之后运行的任务。
TaskOutputs
outputs
(只读)
该任务的输出。
TaskDependency
shouldRunAfter
返回此任务应在其后运行的任务。
TaskState
state
(只读)
该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。
File
temporaryDir
(只读)
返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。
该任务的超时时间。
task myTask {
timeout = Duration.ofMinutes(10)
}
如果任务运行时间超过指定时间,则执行此任务的线程将被中断。为了使任务能够正常使用此功能,它需要对中断做出反应,并且必须清理它打开的所有资源。
默认情况下,任务永远不会超时。
指定此任务必须在所有提供的任务之后运行。
task taskY {
mustRunAfter "taskX"
}
对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。
有关可用于指定排序关系的对象类型的描述,请参阅此处。
void
onlyIf
(Closure
仅If关闭)
仅当给定的闭包返回 true 时才执行任务。闭包将在任务执行时评估,而不是在配置期间评估。闭包将传递一个参数,即此任务。如果闭包返回 false,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法:myTask.onlyIf { isProductionEnvironment() }
注意:此方法正在孵化中,可能会在 Gradle 的未来版本中发生变化。
仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法(来自 Java):
myTask.onlyIf("run only in production environment", new Spec<Task>() { boolean isSatisfiedBy(Task task) { return isProductionEnvironment(); } });
仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法(来自 Java):
myTask.onlyIf(new Spec<Task>() { boolean isSatisfiedBy(Task task) { return isProductionEnvironment(); } });
返回此任务的给定属性的值。该方法按如下方式定位属性:
- 如果此任务对象具有给定名称的属性,则返回该属性的值。
- 如果此任务具有给定名称的扩展名,则返回该扩展名。
- 如果此任务的约定对象具有给定名称的属性,则返回该属性的值。
- 如果此任务具有给定名称的额外属性,则返回该属性的值。
- 如果没有找到,则抛出
MissingPropertyException
设置此任务的属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。
- 任务对象本身。例如,
enabled
项目属性。 - 任务的约定对象。
- 任务的额外属性。
如果未找到该属性,MissingPropertyException
则会抛出 a。
TaskDependency
shouldRunAfter
(Object
...
路径)
Object
...指定此任务应在所有提供的任务之后运行。
task taskY {
shouldRunAfter "taskX"
}
对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。
有关可用于指定排序关系的对象类型的描述,请参阅此处。
void
usesService
(服务)Provider
<? extends BuildService
<?>>
Provider
<? extends BuildService
<?>>注册BuildService
此任务使用的 a,以便
BuildServiceRegistration.getMaxParallelUsages()
可以兑现。