Gradle学习笔记(二)
来源:互联网 发布:中医理疗器材淘宝网 编辑:程序博客网 时间:2024/06/05 02:47
示例一:tutorial\excludeTasks
代码:
task compile << { println 'compiling source'}task compileTest(dependsOn: compile) << { println 'compiling unit tests'}task test(dependsOn: [compile, compileTest]) << { println 'running unit tests'}task dist(dependsOn: [compile, test]) << { println 'building the distribution'}
看着这几个任务,是不是有点晕?我是这感觉!上述代码其实是人物之间有一个相互依赖的关系,一个任务可以依赖一个task,也可以依赖多个。task依赖的语法可以看做这样:
task NameA(dependsOn:NameB)//单任务依赖 task NameD(dependsOn:[NameA,NameB,NameC]) //多任务依赖
如何看这个任务的任务结构呢?执行命令
gradle tasks --all
看结果:
tasks - Displays the tasks runnable from root project 'excludeTasks'.Other tasks-----------dist compile compileTest testBUILD SUCCESSFULTotal time: 3.838 secs
示例二:tutorial\defaultTasks
代码:
defaultTasks 'clean', 'run'task clean << { println 'Default Cleaning!'}task run << { println 'Default Running!'}task other << { println "I'm not a default task!"}
由于在文件开头,使用了属性defaultTasks,指定了默认的任务,所以在执行时,可以这么执行
gradle
不需要指定特定的任务,即可运行默认的任务,默认是按默认任务的列表顺序执行的。defaultTasks是Project的属性,可以从api里找到file:///D:/Java/Gradle/gradle-2.8/docs/dsl/org.gradle.api.Project.html#org.gradle.api.Project:defaultTasks
示例三:tutorial\disableTask
代码:
task disableMe << { println 'This should not be printed if the task is disabled.'}disableMe.enabled = false
如果执行上面的任务,我们会得到什么结果呢?
>gradle disableMe:disableMe SKIPPEDBUILD SUCCESSFUL
很可惜,什么都没有!原因是给task加了个属性,直接跳过了!task有多少属性呢?我的sdk在这里
file:///D:/Java/Gradle/gradle-2.8/docs/dsl/org.gradle.api.Task.html,关于属性enabled,有这样一个解释:
boolean enabledReturns if this task is enabled or not.
返回类型为boolean,设置该task能否执行。在任务块里,可以直接调用task的属性
任务四:tutorial\count
代码:
task count << { 4.times { print "$it " }}
分析:该任务count 调用了一个默认方法,times{}, 进行遍历, $it ,注意it是代表整数,如果是整数,不能用其他代码!这个it在gradle里为整数型! 这里有个困惑,在查找api中没有找到这个方法的位置,如果您知道,希望您给予知道,不胜感激!
补充一点关于times的使用心得:
下面是我自己随意写的gradle,对times的使用进行了扩展,代码如下:
task dd << {5.times{dddddd -> println("ddddddddd:"+dddddd)println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa:$dddddd")}}
其中,dd为任务名,dddddd是我随意起的遍历次数的变量名, 使用”->“ 进行了变量的声明,而且只能声明一次,符号”->”是必须的! 这个地方我是根据代码改写的,没有找到理论基础,如果您知道,希望您给予知道,不胜感激!*
任务五:tutorial\lazyDependsOn
代码:
下面的代码作用是延时依赖,或者叫懒依赖,就是先确定依赖任务,不管该任务存不存在。如果不存在,后面再进行创建!
task taskX(dependsOn: 'taskY') << { println 'taskX'}task taskY << { println 'taskY'}
分析: 创建这种依赖,所依赖的任务名先确定,使用''
单引号来包裹这个任务名,这个任务可以在引用后面再进行创建!!!
- Gradle学习笔记(二)
- Gradle学习笔记(二)
- gradle 教程学习笔记(二)
- Gradle学习笔记(二)构建脚本
- 【二】Gradle 基础知识学习笔记
- gradle学习笔记(二)第一个简单demo
- Gradle学习笔记(二)build脚本入门
- gradle学习笔记(二) Groovy基础
- Gradlle Gradle for Android 学习笔记(二) Gradle Wrapper 入门
- Gradle学习历程(二)
- Gradle学习笔记(一)
- Gradle学习笔记(一)
- Gradle 学习笔记(三)
- Gradle学习笔记(四)
- Gradle学习笔记(五)
- Gradle 学习笔记(五)
- Gradle学习笔记 Gradle命令行
- AS之gradle学习二(指南)
- git core.autocrlf配置说明
- Ubuntu Server Guide ☞ 联网 ☞ 网络配置
- Spring使用Cache
- 工业4.0带来了什么
- python3 基于urllib模块的网络编程
- Gradle学习笔记(二)
- 十大负面测试用例
- 用FileInputStream读文件,字节数组接收,不知道文件的大小时怎么办
- xilinx 的 LogiCORE IP Video In to AXI4-Stream 调试
- Wireshark实战分析之DNS协议分析(一)
- Git详解之七:自定义Git
- 计划任务
- 17个你必须牢记的Win7快捷键
- building and installing openCV3 with extra modules on VS2013 win8