包装纸

API文档:Wrapper

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

当用户第一次执行包装器脚本时,该脚本会下载并安装适当的 Gradle 发行版,并针对此下载的发行版运行构建。使用包装器脚本时,任何已安装的 Gradle 发行版都会被忽略。

此任务生成的脚本旨在提交到您的版本控制系统。此任务还会生成一个小型gradle-wrapper.jar引导 JAR 文件和属性文件,这些文件也应提交到您的 VCS。脚本委托给这个 JAR。

特性

财产描述
actions

Action此任务将按执行顺序执行的对象序列。

ant

对于AntBuilder这个任务。您可以在构建文件中使用它来执行 ant 任务。

archiveBase

存档库指定解压的包装器发行版是否应存储在项目中或 gradle 用户主目录中。

archivePath

gradle 发行版存档的保存路径(即父目录)。该路径是相对于存档基目录的。

convention
已弃用

Convention此任务的对象。APlugin可以使用约定对象来为此任务提供属性和方法。

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

LoggingManager用于接收日志记录并控制此任务的标准输出/错误捕获。默认情况下,System.out 以 QUIET 日志级别重定向到 Gradle 日志系统,System.err 以 ERROR 日志级别重定向。

mustRunAfter

返回此任务必须在其之后运行的任务。

name

此任务的名称。该名称唯一标识其 中的任务Project

networkTimeout
孵化

网络超时指定包装器执行网络操作(例如下载包装器 jar)时等待的毫秒数。

outputs

该任务的输出。

path

任务的路径,这是任务的完全限定名称。任务的路径是其路径Project加上任务名称,以 分隔:

project

Project该任务属于哪个。

propertiesFile

将包装器属性写入其中的文件。

scriptFile

将包装器脚本写入其中的文件。

shouldRunAfter

返回此任务应在其后运行的任务。

state

该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。

taskDependencies

返回一个TaskDependency包含该任务所依赖的所有任务的a。

temporaryDir

返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。

timeout

该任务的超时时间。

validateDistributionUrl
孵化

指示此任务是否将验证已配置的分发 URL。

方法

方法描述
dependsOn(paths)

将给定的依赖项添加到此任务。有关可用作任务依赖项的对象类型的描述,请参阅此处。

doFirst(action)

将给定的闭包添加到该任务的操作列表的开头。执行时,闭包将作为参数传递给该任务。

doFirst(actionName, action)

将给定添加Action到该任务的操作列表的开头。

doFirst(action)

将给定添加Action到该任务的操作列表的开头。

doLast(action)

将给定的闭包添加到该任务操作列表的末尾。执行时,闭包将作为参数传递给该任务。

doLast(actionName, action)

将给定添加Action到该任务操作列表的末尾。

doLast(action)

将给定添加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)

注册BuildService此任务使用的 a,以便 BuildServiceRegistration.getMaxParallelUsages()可以兑现。

脚本块

无脚本块

物业详情

List<Action<? super Task>> actions

Action此任务将按执行顺序执行的对象序列。

AntBuilder ant(只读)

对于AntBuilder这个任务。您可以在构建文件中使用它来执行 ant 任务。

PathBase archiveBase

存档库指定解压的包装器发行版是否应存储在项目中或 gradle 用户主目录中。

默认:
PathBase.GRADLE_USER_HOME

String archivePath

gradle 发行版存档的保存路径(即父目录)。该路径是相对于存档基目录的。

默认:
'wrapper/dists'

Convention convention(只读)

注意:此属性已弃用,并将在 Gradle 的下一个主要版本中删除。

Convention此任务的对象。APlugin可以使用约定对象来为此任务提供属性和方法。

Set<Object> dependsOn

该任务的依赖关系。

String description

此任务的描述。

TaskDestroyables destroyables(只读)

此任务的可破坏物。

boolean didWork

检查任务是否确实完成了任何工作。即使一个Task执行了,它也可能确定它没有任何事可做。例如,编译任务可以确定自上次运行该任务以来源文件没有更改。

PathBase distributionBase

分发库指定解压的包装器分发是否应存储在项目中或 gradle 用户主目录中。

默认:
PathBase.GRADLE_USER_HOME

String distributionPath

包装器所需的 gradle 发行版解压缩的路径。该路径是相对于分发基目录的

默认:
'wrapper/dists'

DistributionType distributionType

包装器要使用的 Gradle 发行版的类型。

默认:
DistributionType.BIN

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" 对于快照版本)。

boolean enabled

返回此任务是否启用。

ExtensionContainer extensions(只读)

扩展的容器。

TaskDependency finalizedBy

返回完成此任务的任务。

String gradleVersion

包装器的 gradle 版本。

默认:
gradle.gradleVersion

String group

该任务所属的任务组。任务组用于报告和用户界面中,以便在向用户呈现任务列表时将相关任务分组在一起。

TaskInputs inputs(只读)

此任务的输入。

File jarFile

将包装器 jar 文件写入其中的文件。

默认:
${project.projectDir}/gradle/wrapper/gradle-wrapper.jar

TaskLocalState localState(只读)

此任务的本地状态。

Logger logger(只读)

此任务的记录器。您可以在构建文件中使用它来写入日志消息。

LoggingManager logging(只读)

LoggingManager用于接收日志记录并控制此任务的标准输出/错误捕获。默认情况下,System.out 以 QUIET 日志级别重定向到 Gradle 日志系统,System.err 以 ERROR 日志级别重定向。

TaskDependency mustRunAfter

返回此任务必须在其之后运行的任务。

String name(只读)

此任务的名称。该名称唯一标识其 中的任务Project

Property<Integer> networkTimeout

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

网络超时指定包装器执行网络操作(例如下载包装器 jar)时等待的毫秒数。

默认:
10000多发性硬化症

TaskOutputs outputs(只读)

该任务的输出。

String path(只读)

任务的路径,这是任务的完全限定名称。任务的路径是其路径Project加上任务名称,以 分隔:

Project project(只读)

Project该任务属于哪个。

启用配置缓存时,不支持从任务操作调用此方法。

File propertiesFile(只读)

将包装器属性写入其中的文件。

默认:
jarFile,替换.jar.properties

File scriptFile

将包装器脚本写入其中的文件。

默认:
${project.projectDir}/gradlew

TaskDependency shouldRunAfter

返回此任务应在其后运行的任务。

TaskState state(只读)

该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。

TaskDependency taskDependencies(只读)

返回一个TaskDependency包含该任务所依赖的所有任务的a。

启用配置缓存时,不支持从任务操作调用此方法。

File temporaryDir(只读)

返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。

该任务的超时时间。

task myTask {
    timeout = Duration.ofMinutes(10)
}

如果任务运行时间超过指定时间,则执行此任务的线程将被中断。为了使任务能够正常使用此功能,它需要对中断做出反应,并且必须清理它打开的所有资源。

默认情况下,任务永远不会超时。

Property<Boolean> validateDistributionUrl

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

指示此任务是否将验证已配置的分发 URL。

默认:
true

方法详情

Task dependsOnObject...路径)

将给定的依赖项添加到此任务。有关可用作任务依赖项的对象类型的描述,请参阅此处。

Task doFirstClosure行动)

将给定的闭包添加到该任务的操作列表的开头。执行时,闭包将作为参数传递给该任务。

Task doFirstString动作名称,动作)Action<? super Task>

将给定添加Action到该任务的操作列表的开头。

Task doFirst(行动)Action<? super Task>

将给定添加Action到该任务的操作列表的开头。

Task doLastClosure行动)

将给定的闭包添加到该任务操作列表的末尾。执行时,闭包将作为参数传递给该任务。

Task doLastString动作名称,动作)Action<? super Task>

将给定添加Action到该任务操作列表的末尾。

Task doLast(行动)Action<? super Task>

将给定添加Action到该任务操作列表的末尾。

void doNotTrackStateString原因不是跟踪状态)

不跟踪任务的状态。

指示 Gradle 将任务视为未跟踪。

Task finalizedByObject...路径)

为此任务添加给定的终结器任务。

task taskY {
    finalizedBy "taskX"
}

有关可用于指定终结器任务的对象类型的描述,请参阅此处。

boolean hasPropertyString属性名称)

确定此任务是否具有给定属性。有关任务可用属性的详细信息,请参阅此处。

Task mustRunAfterObject...路径)

指定此任务必须在所有提供的任务之后运行。

task taskY {
    mustRunAfter "taskX"
}

对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。

有关可用于指定排序关系的对象类型的描述,请参阅此处。

void onlyIf(Closure仅If关闭)

仅当给定的闭包返回 true 时才执行任务。闭包将在任务执行时评估,而不是在配置期间评估。闭包将传递一个参数,即此任务。如果闭包返回 false,则任务将被跳过。

您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。

典型用法:myTask.onlyIf { isProductionEnvironment() }

void onlyIfString仅如果原因,仅如果规格)Spec<? super Task>

注意:此方法正在孵化中,可能会在 Gradle 的未来版本中发生变化。

仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。

您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。

典型用法(来自 Java):

myTask.onlyIf("run only in production environment", new Spec<Task>() {
   boolean isSatisfiedBy(Task task) {
      return isProductionEnvironment();
   }
});

void onlyIf(仅限如果规格)Spec<? super Task>

仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。

您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。

典型用法(来自 Java):

myTask.onlyIf(new Spec<Task>() {
   boolean isSatisfiedBy(Task task) {
      return isProductionEnvironment();
   }
});

Object propertyString属性名称)

返回此任务的给定属性的值。该方法按如下方式定位属性:

  1. 如果此任务对象具有给定名称的属性,则返回该属性的值。
  2. 如果此任务具有给定名称的扩展名,则返回该扩展名。
  3. 如果此任务的约定对象具有给定名称的属性,则返回该属性的值。
  4. 如果此任务具有给定名称的额外属性,则返回该属性的值。
  5. 如果没有找到,则抛出MissingPropertyException

void setPropertyString名称,Object值)

设置此任务的属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。

  1. 任务对象本身。例如,enabled项目属性。
  2. 任务的约定对象。
  3. 任务的额外属性。

如果未找到该属性,MissingPropertyException则会抛出 a。

TaskDependency shouldRunAfterObject...路径)

指定此任务应在所有提供的任务之后运行。

task taskY {
    shouldRunAfter "taskX"
}

对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。

有关可用于指定排序关系的对象类型的描述,请参阅此处。

void usesService(服务)Provider<? extends BuildService<?>>

注册BuildService此任务使用的 a,以便 BuildServiceRegistration.getMaxParallelUsages()可以兑现。