介绍一下gradle的构建脚本基础知识,在这以前简单说一下gradle的介绍与安装html
gradle介绍:java
gradle是一个基于JVM的构建工具,相似于Ant和maven,可是比ant和maven更为强大,它基于groovy的构建脚本。gradle里的任何东西都是基于projects和tasks,每个构建是由一个或多个project构成,一个project又由一个或多个task。maven
gradle安装(Mac):ide
brew install gradle
安装gradle工具
完成以后,执行命令:gradle
gradle -v
若出现:ui
------------------------------------------------------------ Gradle 2.12 ------------------------------------------------------------ Build time: 2016-03-14 08:32:03 UTC Build number: none Revision: b29fbb64ad6b068cb3f05f7e40dc670472129bc0 Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.8.0_40 (Oracle Corporation 25.40-b25) OS: Mac OS X 10.11.4 x86_64
说明安装成功。.net
gradle构建脚本基础:日志
task hello{ doLast{ println 'Hello world!' } }
而后打开终端,cd到该目录下,执行:code
gradle hello
输出:
:hello Hello world! BUILD SUCCESSFUL Total time: 4.593 secs This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.12/userguide/gradle_daemon.html
你也能够执行:,发现没有那些日志信息了。
快捷的任务定义:
task hello3 << { println 'hello world 3!' }
其中 << 就至关于 doLast
任务依赖:
task task2(dependsOn : "task1") << { println "task2" } task task1 <<{ println "task1" }
或
task task1 <<{ println "task1" } task task2(dependsOn : task1) << { println "task2" }
或
task task1 << { println "task1" } task task2 << { println "task2" } task2.dependsOn task1
动态任务:
4.times { i -> task "taskk$i" << { println "I am task number $i" } }
生成了4个任务:taskk0,taskk1,taskk2,taskk3,执行
使用已经存在的任务:
task sumu <<{ println "sumu1" } sumu.doLast{ println "sumu2" } sumu.doFirst{ println "sumu3" } sumu << { println "sumu4" }
而后执行:,注意一个任务的doFirst和doLast能够有多个。
短标记法:
task ffge <<{ println "你好,$ffge.name" }
执行:
自定义任务属性:
task person { ext.name = "张三" ext.age = 10 doFirst{ println "名字为:$name,年龄为:$age" } }
执行:
默认任务:
defaultTasks "hello" task hello{ doLast{ println 'Hello world!' } }
执行:
OK,到此结束。