Gradle tip #3-Task顺序

803 查看

我注意到我在使用Gradle的时候遇到的大多数问题都是和task的执行顺序有关的。很明显如果我的构建会工作的更好如果我的task都是在正确的时候执行。下面我们就深入了解一下如何更改task的执行顺序。

dependsOn

我认为最直接的方式来说明的你task的执行时依赖别的task的方法就是使用dependsOn方法。
比如下面的场景,已经存在task A,我们要添加一个task B,它的执行必须要在A执行完之后:

 
9-10-43
这是一个很简单的场景,假定A和B的定义如下:

只需要简单的调用B.dependsOn A,就可以了。

这意味着,只要我执行task B,task A都会先执行。

另外,你也可以在task的配置区中来声明它的依赖:

如果我们想要在已经存在的task依赖中插入我们的task该怎么做呢?

9-10-44

过程和刚才类似。假定已经存在如下的task依赖:

加入我们的新的task

输出:

注意dependsOn把task添加到依赖的集合中,所以依赖多个task是没有问题的。

9-10-45

输出: