Gradle 任务
-
任务
Gradle构建脚本描述了一个或多个项目。每个项目由不同的任务组成。任务是构建执行的一项工作。任务可能是编译一些类,将类文件存储到单独的目标文件夹中,创建JAR,生成Javadoc或将一些成果发布到存储库。本章介绍什么是任务以及如何生成和执行任务。 -
定义任务
Task是用于将任务定义到构建脚本中的关键字。看一下以下示例,该示例表示一个名为hello的任务,该任务将打印jc2182。将以下脚本复制并保存到名为build.gradle的文件中。此构建脚本定义了一个任务名称hello,用于打印jc2182字符串。在命令提示符下执行以下命令。它执行上面的脚本。您应该执行此操作,将build.gradle文件存储在其中。输出: -
定位任务
如果要查找在构建文件中定义的任务,则必须使用相应的标准项目属性。这意味着可以使用任务名称作为属性名称,将每个任务用作项目的属性。查看下面的代码,这些代码将任务作为属性访问。将以下给定的代码复制并保存到build.gradle文件中。在命令提示符下执行以下命令。它执行上面给定的脚本。您应该执行此操作,将build.gradle文件存储在其中。输出:您还可以通过任务集合使用所有属性。将以下代码复制并保存到build.gradle文件中。在命令提示符下执行以下命令。它执行上面给定的脚本。您应该执行此操作,将build.gradle文件存储在其中。输出:您还可以使用任务访问任务的路径。为此,您可以使用任务名称,相对路径或绝对路径来调用getByPath()方法。将以下给定的代码复制并保存到build.gradle文件中。输出: -
向任务添加依赖项
您可以使一个任务依赖于另一个任务,这意味着当一个任务完成时,只有其他任务才能启动。每个任务都用任务名称区分。任务名称的集合由其任务集合引用。要引用另一个项目中的任务,您应该使用项目的路径作为相应任务名称的前缀。以下示例将taskX的依赖项添加到taskY。将以下给定的代码复制并保存到build.gradle文件中。看一下下面的代码。在命令提示符下执行以下命令。它执行上面给定的脚本。您应该在build.gradle文件存储的位置执行此操作。输出:上面的示例使用名称来添加对任务的依赖。实现任务依赖关系的另一种方法是使用Task对象定义依赖关系。让我们以taskY依赖于taskX的相同示例为例,但是我们使用任务对象而不是任务引用名称。将以下代码复制并保存到build.gradle文件中。输出:上面的示例使用名称来添加对任务的依赖。实现任务依赖关系的另一种方法是使用Task对象定义依赖关系。在这里,我们以同一示例为例,taskY依赖于taskX,但是我们使用的是任务对象而不是任务引用名称。看一看。将以下给定的代码复制并保存到build.gradle文件中。看一下下面的代码。输出: -
向任务添加描述
您可以在任务中添加描述。执行Gradle任务时显示此描述。这可以通过使用description关键字来实现。将以下代码复制并保存到build.gradle文件中。看一下下面的代码。在命令提示符下执行以下命令。您应该在存储build.gradle文件的地方执行此操作。如果命令执行成功,您将获得以下输出。 -
跳过任务
跳过任务可以通过传递谓词闭包来完成。仅当任务的方法或闭包在执行任务的实际工作之前抛出StopExecutionException时,才可能这样做。 将以下代码复制并保存到build.gradle文件中。在命令提示符下执行以下命令。您应该在存储build.gradle文件的地方执行此操作。我们可以看到跳过了任务,并没有任何输出 -
任务结构
在处理任务时,Gradle具有不同的阶段。首先,有一个配置阶段,在该阶段执行直接在任务闭包中指定的代码。对每个可用任务执行配置块,不仅对以后实际执行的那些任务执行。在配置阶段之后,执行阶段在那些实际执行的任务的doFirst或doLast闭包内运行代码。