天天看点

gradle-5.gradle中的task

项目实质上是 Task 对象的集合。一个 Task 表示一个逻辑上较为独立的执行过程,比如编译 Java 源代码,拷贝文件, 打包 Jar 文件,甚至可以是执行一个系统命令。另外,一个 Task 可以读取和设置 Project 的 Property 以完成特定的操作 注:实际上在一般的项目上我觉得应该用不太到这块内容,所以了解即可,我这边也记录的是我自己学习过程中了解的一部分知识记录下。

#1.任务的实例

gradle-5.gradle中的task

在文件所在的目录执行命令: gradle A。

  • 提示 1 :task 的配置段是在配置阶段完成
  • 提示 2 :task 的 doFirst、doLast 方法是执行阶段完成,并且 doFirst 在 doLast 执行之前执行。
  • 提示 3:区分任务的配置段和任务的行为,任务的配置段在配置阶段执行,任务的行为在执行阶段执行

#2.任务的行为

##2.1任务的外部行为

gradle-5.gradle中的task

##2.2原理分析

gradle-5.gradle中的task

底层原理分析:无论是定义任务自身的 action,还是添加的 doLast、doFirst 方法,其实底层都被放入到一个 Action 的 List 中了,最初这个 action List 是空的,当我们设置了 action【任务自身的行为】,它先将 action 添加到列表中,此时列表中 只有一个 action,后续执行 doFirst 的时候 doFirst 在 action 前面添加,执行 doLast 的时候 doLast 在 action 后面添加。doFirst 永远添加在 actions List 的第一位,保证添加的 Action 在现有的 action List 元素的最前面;doLast 永远都是在 action List 末尾添加,保证其添加的 Action 在现有的 action List 元素的最后面。一个往前面添加,一个往后面添加,最后这个 action List 就按顺序形成了 doFirst、doSelf、doLast 三部分的 Actions,就达到 doFirst、doSelf、doLast 三部分的 Actions 顺序执 行的目的。

#3.任务的依赖方式

task的依赖方式可以在以下几个部分设置:

1.参数依赖 2.内部依赖 3.外部依赖

gradle-5.gradle中的task
gradle-5.gradle中的task
gradle-5.gradle中的task
gradle-5.gradle中的task

#4.任务执行

gradle-5.gradle中的task

继续阅读