【Android Gradle 插件】自定义 Gradle 任务 ⑨ ( 控制 Gradle 执行任务顺序 | Task#finalizedBy 函数 | 控制 Gradle 执行任务顺序示例分析 )

Android Plugin DSL Reference 参考文档 :





一、Task#finalizedBy 函数



Task#finalizedBy 函数 的作用是为 Gradle 任务 设置任务执行完毕后执行的任务 ;

A.finalizedBy B 的作用是 A 任务执行完毕后 , 执行 B 任务 ;

一般情况下 , 设置 B 任务用于清理缓存 ;


Task#finalizedBy 函数原型 :

Task finalizedBy​(Object... paths)

Adds the given finalizer tasks for this task.
为此任务添加给定的终结器任务。

 task taskY {
    
    
     finalizedBy "taskX"
 }
 
See here for a description of the types of objects which can be used to specify a finalizer task.
有关可用于指定终结器任务的对象类型的描述,请参阅此处。

Parameters:
paths - The tasks that finalize this task.
        完成此任务的任务。
Returns:
the task object this method is applied to
应用此方法的任务对象

文档地址 : https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html#finalizedBy-java.lang.Object…-





二、控制 Gradle 执行任务顺序示例分析



控制 Gradle 执行任务顺序示例分析 :

A.finalizedBy B
B.dependsOn C

上述三个任务 , A 执行完毕后执行 B , B 依赖于 C , 执行 B 之前要先把 C 执行了 , 这里的执行顺序为 :

A -> C -> B

猜你喜欢

转载自blog.csdn.net/han1202012/article/details/126981659