下载与安装
- 官方下载地址: https://gradle.org/gradle-download/
- 安装就是配置环境变量,增加GRADLE_HOME环境变量,值为gradle-2.12\bin所在目录
 windows下直接在环境变量对话框中定义,类linux系统 
 export GRADE_HOME = xxxx/xxxx
 export PATH=$PATH:$GRADLE_HOME/bin
- 验证是否安装成功

- 来一个gradle的hello world
新建一个文件 build.gradle
task helloWorld{
    task startSession << {
        println 'Welcome to gradle world!'
    }
    3.times {
        task "genGradle$it" << {
            println 'genGradle rocks'
        }
    }
    genGradle0.dependsOn startSession
    genGradle2.dependsOn genGradle1, genGradle0
    task groupGradles(dependsOn: genGradle2)
}
- 执行:gradle -q groupGradles

程序简单说明
- 这里的task和Ant的targets是对等的
- << 符号是doLast的alias,doFirst 和 doLast 可以多次执行调用。他们在开始或结束的 task 动作清单中添加动作。task 执行时,按动作列表的顺序执行的动作。操作符 << 仅仅是 doLast 的别名。
- -q是代表quiet模式,不生成构建编译过程的日志信息
其他技巧
- 列出项目中所有的task
gradle -q tasks --all
- 在执行时排除一个任务
gradle groupGradles -x genGradle0
- 任务名字采用缩写
gradle groupHello 等价于  gradle gH
gradle groupGradle0 等价于 gradle gG0
- 常用的命令行选项
-b 指定构建脚本名字,某人build.gradle
-i 执行时候输出详细日志信息
-q 减少构建出错时打印的日志信息
--help 打印出所有可用的命令行选项
- 以后台守护进行方式运行gradle
gradle groupGradles --daemon
看看灵活的Groovy例子
- 编写脚本build.gradle
task upper << {
    println '---- Begin in upper ----'
    String strSome = 'my_nAme'
    println 'Original: ' + strSome
    println 'Upper: ' + strSome.toUpperCase()
    println '---- End in upper ----'
}   
task hello(dependsOn: upper) << {
    println " I'm dependsOn upper"
}
执行下 gradle -q hello

- 更多的脚本技巧请参考:
 
- 默认task设置
defaultTasks 'clean', 'run'
task upper << {
    println '---- Begin in upper ----'
    String strSome = 'my_nAme'
    println 'Original: ' + strSome
    println 'Upper: ' + strSome.toUpperCase()
    println '---- End in upper ----'
}   
task hello(dependsOn: upper) << {
    println " I'm dependsOn upper"
}
task clean << {
    println 'This is a default task clean '
}
task run << {
    println 'This is a default task run '
}
执行 gradle -q 结果

- DAG配置
task destribution <<{
    println "We build the zip with version = $version "
}
task release(dependsOn:'destribution') << {
    println 'We release now ......'
}
gradle.taskGraph.whenReady{
    taskGraph -> 
    if (taskGraph.hasTask(release)) {
        version = '1.0'
    }else{
        version = '1.0-SNAPSHOT'
    }
}
注意执行不同的TASK,输出结果是不一样的
 
 菡萏如佳人
菡萏如佳人