gradle的安装可以参照gradle的官方文档,很简单,安装之前先安装JDK8,设置好JAVA_HOME,然后设置GRADLE_HOME这两个环境变量
- Gradle项目由project和task组成
- gradle的执行
- task的编写快捷方式
task hello << {
println 'Hello world!'
}
- task里面可以编写代码
task upper<<{
String name = "huyi"
println( name.toUpperCase())
}
- task关联依赖
task hello {
doLast {
println 'Hello world!'
}
}
task intro(dependsOn: hello) {
doLast {
println "I'm Gradle"
}
}
- 管理存在的task
4.times { counter ->
task "task$counter" {
doLast {
println "I'm task number $counter"
}
}
}
task0.dependsOn task2, task3
- task可以作为一个脚本的属性
task hello {
doLast {
println 'Hello world!'
}
}
hello.doLast {
println "Greetings from the $hello.name task."
}
同样可以使用groovy的leftshift操作符
task hello {
doLast {
println 'Hello world!'
}
}
hello<< {
println "Greetings from the $hello.name task."
}
- 额外的task属性
task hello2{
ext{
myProperty="addValue"
thisVal="thisVal"
}
}
task prn{
println hello2.myProperty
println hello2.thisVal
}
- 在build.gradle中使用方法
这个例子里面使用了groovy的闭包以及文件操作,可以查看groovy的文档,顺便说下groovy的[官方文档](http://www.groovy-lang.org/syntax.html/)写得很详细
task loadfile {
doLast {
getfiles("D:/workspace/myweb").each { File file ->
//ant.loadfile(srcFile: file, property: file.name)
println "I'm fond of $file.name"
}
}
}
File[] getfiles(String dir){
file(dir).listFiles({File file-> file.isFile()} as FileFilter).sort()
}
- 默认task,和ant的默认target很相似
task loadfile {
doLast {
getfiles("D:/workspace/myweb").each { File file ->
//ant.loadfile(srcFile: file, property: file.name)
println "I'm fond of $file.name"
}
}
}
File[] getfiles(String dir){
file(dir).listFiles({File file-> file.isFile()} as FileFilter).sort()
}
defaultTasks "loadfile"
执行gradle -q即可,gradle默认会执行loadfile task
问题总结:
- 当使用<<简写方式时,访问task内置属性报错,可能是一个bug,需要访问属性去掉hello的<<即可
task hello<<{
println 'Hello world!'
ext{
myProperty="thisVal"
}
}
task pr<<{
println hello.myProperty
}