gradle中,最经常被使用的,一个task,一个是dependencies

1.Task声明

task默认是DefaultTask类, Task中有两个属性 group description,最佳实践是把两个属性都设置上

如下面:

//声明task的时候,就指定group和description,在声明task的时候,就声明doLast方法,
task makeReleaseVersion(group: 'versioning', description: 'Makes project a release version.') << {
version.release = true
ant.propertyfile(file: versionFile) {
entry(key: 'release', type: 'string', operation: '=', value: 'true')
}
} //在之后单独声明doFirst 和 doLast
printVersion.doFirst { println "First action" }
printVersion << { println "Last action" }

Task执行时,会依次执行doFirst 和 doLast 上面那个例子只能的<< 就是doLast的一种简写。

一个task可以声明多个doFirst和doLast方法,都会被执行,doFirst后面设置的越先执行,doFirst越后面设置的,越后执行。

2.Task之间的依赖

task直接可以相互依赖,但是不能形成闭环,否则会报错。

task first << { println "first" }
task second << { println "second" }
#声明方法时,设置依赖
task printVersion(dependsOn: [second, first]) << {
logger.quiet "Version: $version"
} task third << { println "third" }
#之后设置依赖 参数为可变参数,有多个,就继续往后面加
third.dependsOn('printVersion') #指明在first的task执行完成后,执行second的task
first.finalizedBy second

未完待续。。。

【三】Gradle中的Task的更多相关文章

  1. 深入理解gradle中的task

    目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解g ...

  2. Gradle之Android Gradle Plugin 主要 Task 分析(三)

    [Android 修炼手册]Gradle 篇 -- Android Gradle Plugin 主要 Task 分析 预备知识 理解 gradle 的基本开发 了解 gradle task 和 plu ...

  3. gradle中的增量构建

    目录 简介 增量构建 自定义inputs和outputs 运行时API 隐式依赖 输入校验 自定义缓存方法 输入归一化 其他使用技巧 gradle中的增量构建 简介 在我们使用的各种工具中,为了提升工 ...

  4. gradle中使用嵌入式(embedded) tomcat, debug 启动

    在gradle项目中使用embedded tomcat. 最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动tomcat来部署项目.这种手动工作通常还 ...

  5. 在Gradle中使用jaxb的xjc插件

    jaxb,全称为Java Architecture for Xml Binding,是一种将java对象与xml建立起映射的技术.其主要提供两个功能,一是将java对象映射为xml,二是将xml映射为 ...

  6. Gradle中的buildScript代码块

    在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码: build.gradle 1 2 3 4 5 6 7 8 9 buildScript { repositories ...

  7. Gradle中使用idea插件的一些实践

    如果你的项目使用了Gradle作为构建工具,那么你一定要使用Gradle来自动生成IDE的项目文件,无需再手动的将源代码导入到你的IDE中去了. 如果你使用的是eclipse,可以在build.gra ...

  8. [转] Gradle中的buildScript代码块

    PS: 在build script中的task apply plugin: 'spring-boot' 需要 classpath("org.springframework.boot:spri ...

  9. gradle中使用cobertura做代码覆盖(转)

    gradle很好用,但是默认是没有代码覆盖功能的,只好自己写.曾经在网上找到过别人的一段脚本,虽然也能用,但是有一些不爽的地方,一个原因是它不支持对层级工程中全部代码的覆盖,另一个原因是它用替换bui ...

随机推荐

  1. 敏捷:你能区分DevOps中的“集成、部署、交付、上线、发布”吗?

    在DevOps中,你可能经常会听到类似这样的一些话: 功能还没集成进来. 功能还没部署上去. 功能还没交付. 功能还没上线. 功能还没发布. 请问,以上“集成”.“部署”. “交付”.“上线”.“发布 ...

  2. 最近学习了Http连接池

    起因 6.1大促值班发现的一个问题,一个rpc接口在0~2点用户下单高峰的时候表现rt高(超过1s,实际上针对性优化过的接口rt超过这个值也是有问题的,通常rpc接口里面即使逻辑复杂,300ms应该也 ...

  3. ts--泛型

    //泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性,组件不仅要能支持当前的数据类型,同时也能支持未来的数据类型 //泛型就是解决 类  接口  方法的复用性 以及对不特定 ...

  4. 同步IO, 异步IO的理解

    1. 什么是IO? 在计算机中无时无刻不存在着对数据的访问和读取(数据都存储在物理的媒介上,例如寄存器,高速缓存,内存,磁盘,网卡等等),这些操作被称为IO. 2. 阻塞IO (1)当用户线程发起IO ...

  5. 关于InterruptedException的两篇博文的转载

    博文一:https://www.jianshu.com/p/a8abe097d4ed InterruptedException异常 在了解InterruptedException异常之前应该了解以下的 ...

  6. Python - 文件管理系统

    一.概述 前段时间帮公司写了一个资产管理的网站,(https://www.cnblogs.com/ddzj01/p/11316837.html),系统运行的比较稳定,小白的第一个项目得到了领导的肯定. ...

  7. Git多个远程仓库不同步时的补救办法

    git本地仓库是可以与多个远程仓库关联的,如果想知道怎么配置,请参考Git如何使用多个托管平台管理代码 . 当git remote关联了多个远程仓库时,总会遇到一些问题.今天就遇到了两个远程仓库不一致 ...

  8. 易优CMS:channelartlist 获取当前频道的下级栏目的内容列表

    channelartlist 获取当前频道的下级栏目的内容列表   [基础用法] 名称:channelartlist 功能:获取当前频道的下级栏目的内容列表标签 语法: {eyou:channelar ...

  9. mysql安装、使用

    一.下载.安装 1.下载 (1)下载地址 https://dev.mysql.com/downloads/mysql/ (2)此处我下载最新版(8.0.18) 2.安装 (1)解压.并配置环境变量 s ...

  10. js-03-if条件判断

    一.swich case判断语句eg <script> swich( exp){ case 值1: 执行的代码段: break; case 值2: 执行的代码段: break; ..... ...