gradle构建脚本基础(一个大概介绍)三

版权声明:转载请申明出处,谢谢 https://blog.csdn.net/qq_35495763/article/details/86229313

update time:2019-1-10 Author:要你命三千又三千 type:学习笔记

setting 文件(默认文件名:setting.gradle)

  1. 作用:初始化以及工程树的配置
  2. 位置:在根工程目录下
  3. 大多数的作用:配置子工程

gradle 中的多工程是通过工程树表示的。
根工程相当于Project ,子工程相当于Moudle .
作用形式:子工程只有在setting文件里配置了,才会识别构建时才会将它包含进去

在这里插入图片描述

build文件

作用:该project的构建入口,针对该project进行配置
1.Root Project 也有build文件
2.Toot Project可以获取所有的Child Project ,所以可以在Root Project 中的Build 文件中对Child Project 进行统一配置。
3.好处:方便的对子工程进行统一配置。
在这里插入图片描述
在这里插入图片描述

(allproject) subproject 对工程进行遍历,遍历的过程调用我们自定义的闭包。

Project 和Task 任务

什么是Project
由来:根据项目抽象出来的一个个独立的模块,你可以根据项目的情况抽象归类,最后一个个的Project 组成了Gradle 构建。(从编程角度讲就是一个个独立的模块)
什么是Task
一个Project 包含多个Task ,每个Project 有多个Task 组成。
举例

task customTask1 {//task 是一个Project 的函数,原型为create(String 
                 //namem,Closure configureClosure)
                 //customTask1 为任务名
                 // 后面的闭包为另外一个参数。
                 //由来:groovy 可以省略函数括号(没有了括号),最后一参数为闭
                 //包可以放在括
                 //号外面(没有了逗号)
doFirst{  //这里我理解为回调函数doFirst(),
          //doLast()任务前后调用函数(可以自定义进行覆盖(回调的好处))
        println 'customTask1:doFirst'
   }
   doLast{
        println 'customTask1:doLast'
        }
}
}

这里还要一种方法方法使用TaskContainer来任务(略)

任务依赖

含义:即那些任务必须先执行,那些任务必须后执行。(某些任务执行完后,其他任务才能执行)
实现

task ex35Hello{
 println 'hello'}
 taskk ex35Main(dependsOn:ex35Hello){......}//通过dependsOn 里指定任务依赖
 task ex35MultiTask{ //ex35MultiTask依赖ex35hello 和ex35World 任务,必须将前两个任务完成后才能执行。
  dependsOn ex35Hello, ex35World 
  doLast{
  println 'multiTask'
  }}

任务间的交互(相互访问)

这里将任务名看做变量名,
调用任务的方法
在这里插入图片描述
关于Project 有多个任,代码层的含义为:(定义为一个任务,即将该任务对应的任务名注册为project一个属性。)在这里插入图片描述

自定义属性
通过ext自定义project 和Task的自定义属性(这里的自定义属性默认是public,访问的到对象,即可访问到属性)
在这里插入图片描述
补充一点:sourceSets.all 返回所有:every element in a collection (sourceSets.all in this case), and returns a collection of the results.(参考网址)
在这里插入图片描述
举例:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/86229313