Gradle总结

Groovy概述

1.简介

Groovy语言是一种运行在java虚拟机上的脚本语言,Groovy也会被编译成JVM字节码文件,最终由JVM解释执行,因此Groovy代码可以和java代码无缝衔接,可以直接在Groovy代码中写java代码。因为Groovy是一种脚本语言,所以在使用起来很多地方都与JS比较类似

2.闭包

  • Groovy中如果一个方法的最后一个参数是一个闭包,则闭包可以写在小括号的外面
  • 闭包中有一个默认参数it
  • 闭包中的三个参数:this,owner,delegate
    • this:代表闭包定义处最近的对象,不包含闭包,不可以修改
    • owner:代表闭包定义处最近的对象,包含闭包,不可以修改
    • delagate:默认等于owner,可以修改
  • 在闭包中可以直接访问this,owner,delegate中的方法和变量

List和Map

Groovy中的List和Map类似于js中的List和Map,相比java语言操作起来更加容易

高级操作

Json解析

Groovy语言在解析json数据的时候非常方便,类似与JS。

文件操作

Groovy语言的文件操作,也是非常简单的,其实Groovy只是在Java的输入输出流上面,又包装了一层,因此使用起来非常方便

Gradle

Gradle的生命周期

Gradle在构建的过程中,一共经历三个阶段:初始化阶段,配置阶段,执行阶段

  • 初始化阶段:解析setting.gradle文件,为所有需要参与构建的工程创建Project对象

  • 配置阶段:解析每个工程的build.gradle文件,生成Task的有向五环图,在配置阶段执行的代码有:

    • apply方法:apply方法是向Project中引入一个Groovy插件,在Groovy插件中,一般会定义一些Task,比如我们通常引入的com.android.application插件中就是定义了Android打包成apk相关的task
    • Task的定义与配置:我们经常会在build.gradle文件中定义一些Task,并且通过闭包的形式,为这些task初始化一些参数,这个闭包就是配置阶段执行的,只有Task的action或者doFirst或者doLast是在执行阶段执行的
  • 执行阶段:Gradle的执行阶段就是执行在配置阶段创建好的所有Task,Gradle将打包过程分成了很多了小的Task,当所有的Task执行完了,打包也就结束了

Project对象

Gradle会为每一个需要参与构建工程创建一个Project对象,每一个工程都有一个自己build.gradle,在build.gradle文件中,可以直接调用project的方法,比如我们通常在添加依赖的时候,使用的dependencies就是project中的一个方法,project中常见的api有:

  • Task相关:创建一个task
  • subProjects:访问子Project
  • 依赖相关dependencies
  • 文件操作相关
  • 执行外部命令相关
  • 属性操作相关,通常可以在gradle.properties文件中配置一些属性,在build.gradle中可以直接访问

具体方法含义可以在as里面直接查看方法说明

Task

gradle在构建的执行阶段,就是在执行一些创建好的Task,因此我们可以定义自已的Task做一些特殊操作,然后交给Gradle执行。
创建Task创建的两种方法:

  • 直接调用Project的方法
  • 通过Project对象的Task容器创建Task

Task可以定义输入和输出,输入可以是属性或者文件,输出只能是文件,如果TaskA的输入是TaskB的输出,那么即使这两个Task没有依赖关系,TaskB也会在TaskA之前执行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值