经过前几讲的介绍,我们已经对使用有了一定的了解,本讲将会进一步学习gradle的使用
1.gradle如何与ant结合使用
2.gradle中method的定义与使用
3.默认任务
4.钩子的使用
1.gradle如何与ant结合使用
task loadfile << {
def files = file('./antLoadfileResources').listFiles().sort() //遍历文件夹里面的文件
files.each { File file ->
if (file.isFile()) {
ant.loadfile(srcFile: file, property: file.name) //调用ant来加载文件
println " *** $file.name ***"
println "${ant.properties[file.name]}"
}
}
}
输入: wudideMacBook-Pro:gradle ***$ gradle -q loadfile*** antfile ***
content
PS:我们在当前文件夹下建立了一个antLoadfileResources文件夹,并且在里面加了一个文件测试使用
2.gradle中method的定义与使用
task loadfile << {
fileList('./antLoadfileResources').each { File file ->
ant.loadfile(srcFile: file, property: file.name)
println " *** $file.name ***"
println "${ant.properties[file.name]}"
}
}
File[] fileList(String dir){
file(dir).listFiles({file -> file.isFile() } as FileFilter).sort()
}
*** antfile ***
content
从上面我们可以看出来效果是一样的,只是我们将之前的一部分内容,提取到了我们自定义的函数中了,这个就是自定义函数的使用
3.默认任务
defaultTasks 'clean', 'run'
task clean << {
println 'Default Cleaning!'
}
task run << {
println 'Default Running!'
}
task other << {
println "I'm not a default task!"
}
输入:wudideMacBook-Pro:gradle ***$ gradle -q otherI'm not a default task!
输入:wudideMacBook-Pro:gradle ***$ gradle -q
Default Cleaning!
Default Running!
这个一看就很简单了,如果设置了默认的话,当不输入具体的task名时,就会出发defaulttask了
4.钩子的使用
task distribution << {
println "We build the zip with version=$version"
}
task release(dependsOn: 'distribution') << {
println 'We release now'
}
task test(dependsOn: 'release') << {
println 'We test now'
}
gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask(release)) {
version = '1.0'
} else {
version = '1.0-SNAPSHOT'
}
}
输入:wudideMacBook-Pro:gradle ***$ gradle -q release
We build the zip with version=1.0
We release now
输入:wudideMacBook-Pro:gradle ***$ gradle -q test
We build the zip with version=1.0
We release now
We test now
输入:wudideMacBook-Pro:gradle ***$ gradle -q distribution
We build the zip with version=1.0-SNAPSHOT
这里的钩子其实就是第三个,目的吗,其实就是在执行之前做一些准备工作,相当于callback。
但不同的是,这里不管运行那一个,都会执行这个钩子,并且初始化值
好了,到此,关于gradle的基础知识就算介绍结束了,下一讲讲会介绍在java中的使用。
关于之前介绍过的所有demo,我们均会在下面网址中可以下载到
http://download.csdn.net/detail/u010479969/9318159