gradle 教程学习笔记(一)
来源:互联网 发布:印度不服中国 知乎 编辑:程序博客网 时间:2024/06/06 01:56
gradle是一个很不错的东西,前段在公司,项目大神用gradle脚本规划了整个项目的结构,这个东西确实很强大,之前学过一些maven,这两个东西其实也差不多原理的。废话不多说这个也只是我的一个学习笔记而已,
gradle来说任何东西在gradle上都是两个基本的概念,项目和任务,gradle在构建一个或者多个项目,这些项目被一个多或者多任务进行构建,他可以被编译成class文件,jar包,生成javadoc等。下面是一个hello world的脚本,
build.gradle
task hello{ doLast{ println "hello world" }}在目录下敲入命令gradle -q hello,就能够输出hellowrold 这里-q参数的意思是显示log的信息,其实这里是groovy来进行执行的,虽然我还没学groovy 但是语法几乎和java差不多,很简单。
任务一:定义一个任务,然后在里面写groovy的代码
task upper << { String str = "hello WORLD" println "Original: "+ str println "Upper case: "+str.toUpperCase()}
输入命令 gradle -q upper 就会看到字母变成了大写字母
任务二:任务依赖
在执行一个任务B之前,可以定义一个任务A,让A先执行 gradle -q intro
task upper << { String str = "hello WORLD" println "Original: "+ str println "Upper case: "+str.toUpperCase()}task intro(dependsOn: upper)<<{ println "end"}
任务三:动态任务
在执行命令的动态的给任务添加参数 执行命令 gradle -q task2 这个时候2就会附加到输出内容里面去
4.times { counter-> task "task$counter" <<{ println "i am task number $counter" }}
任务四:操作已经存在的任务
意思就是能够调用其他任务,因为我们定义的是任务0调度其他任务这里就需要输入 gradle -q task0
4.times { counter-> task "task$counter" <<{ println "i am task number $counter" }}task0.dependsOn task2,task3
结果可以自己运行一下
任务四:内部调度函数
自己内置了一些函数,在不同的时期进行调用,输入命令 gradle -q helo
task hello << {println "hello Earth"}hello.doFirst {println "hello Venus"}hello.doLast {println "Hello Mars"}hello << {println "hello Jupiter"}可以看到如下结果
hello Venus
hello Earth
Hello Mars
hello Jupiter
任务五:访问任务的属性
这里在任务内部定义了一个属性, 其他任务可以进行访问 我就不写命令了,基本都是一样的命令
task myTask{ext.myProperty="value"}task printTask << { println myTask.myProperty}
任务六:遍历文件
dsf是脚本对于的目录下的文件,脚本感觉是jquery和java的合体
task loadfile << {def files = file("dsf").listFiles().sort()files.each {File file -> if(file.isFile()){println "** $file.name **"}}}
任务六:定义默认调用的方法
这个时候执行命令 gradle -q 后面不需要加入参数就会调用默认的两个方法,other不会被调用,相反如果你加了指定的task之后,默认的就不会被调用
defaultTasks 'clean', 'run'task clean << {println "default clean"}task run << {println "default run"}task other << {println "other method"}
- gradle 教程学习笔记(一)
- Gradle学习笔记(一)
- Gradle学习笔记(一)
- gradle 教程学习笔记(二)
- gradle 学习笔记(一)
- gradle学习笔记(一)下载安装
- Gradle for Android学习笔记(一)
- Gradle学习笔记(一)入门
- Gradle for Android 学习笔记(一) 下载并安装gradle(Linux 环境),小白也能看懂的gradle教程
- gradle学习(一)
- gradle学习(一)
- gradle学习笔记(一) 构建工具介绍
- Gradle学习笔记(一)环境搭建
- C#图解教程-学习笔记(一)
- UFLDL 教程学习笔记(一)神经网络
- UFLDL 教程学习笔记(一)神经网络
- 简明Python教程学习笔记(一)
- python简明教程学习笔记(一)
- DirectX 11游戏编程学习笔记之2: 第1章Vector Algebra(向量代数)
- android graphic classes
- Chrome37+代替window.showModalDialog模态窗口方法
- 区分ubuntu 32bit or 64bit
- easy ui layout 高度 宽度自适应浏览器
- gradle 教程学习笔记(一)
- Matlab 随机数 小结
- hive安装与配置
- no module named pycurl 解决办法
- 棕最桌椎足妆子状篆篆孜坠子准做酌赚桩
- 25个让Java程序员更高效的Eclipse插件(转)
- MZ Training 2014 #4 C题
- 咨孜踪最注尊资宗注转啄准尊庄淄咨灼谞
- android:windowSoftInputMode属性详解