Gradle 中的Task

192 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

这篇文章我们来介绍一些gradle 中的Task。

Task 是Gradle 中的一个接口,同时也是gradle 中的最小的执行单元。task 的本身含义就是“工作,任务,活动”。所以,一个task 代表gradle 中的一个任务、活动。

Task 接口的默认实现是DefaultTask。每个项目在gradle 构建的过程中都会生成一个Project 对象。Project 对象中提供了task 方法来创建Task。所以说,如果想要创建Task,那么必须要处于Project 上下文中。这里我们在子项目sub_proj_1 的build.gradle 文件中创建Task,代码如下:

// 使用Project 中的task 方法创建一个Task
task testTask{
    doFirst{
        // todo
    }
    doLast{
        // todo
    }
}

上面的代码使用Project 对象中的task 方法创建了一个testTask 的任务。我们看到,在testTask 任务中,有两个通过闭包设置的方法:doFirst 和doLast。其中doFirst 会在Task 的action 执行之前执行;doLast 在Task 的action 执行之后才会执行。(action 就是Task 中的执行单元)

创建Task 还有几种其他方法,读者可以自行搜索一下。这里讲述的是最常用、最普遍的方法。

在创建完成Task 之后,我们就可以使用gradle 命令来执行它了。执行一个Task,只需要把创建的Task 的名称接在gradle 命令之后即可。比如说我们要执行上面创建的那个task,我们可以直接在Terminal 中输入gradle testTask,这样这个task 就可以执行了。

如果我们想要同时执行多个task,那么我们可以在gradle 之后使用空格分别隔开各个task 的名称即可,如:

gradle testTask testTask2 testTask3

总结

这篇文章的重点在于介绍Gradle 中的task。我们只需要明确task 含义、作用以及调用方式即可。在我们的实际开发中,如果想要定义一些开发方面的任务,那么直接就可以在build.gradle 中声明一个task,然后就可以在其中声明自定义的逻辑即可。