开始使用Gradle
每一个Gradle build都从一个脚本开始。Gradle build script 的默认命名约定是build.gradle。 当在shell中执行命令gradle时,Gradle会查找这个叫build.gradle的文件。如果找不到,运行时就会显示一个帮助消息。
当然还是以hello World为例。
task helloWorld {
doLast {
println 'Hello World!'
}
}
运行看看效果:
$ gradle –q helloWorld
Hello world!
你已经用了Gradle的DSL。Tasks和actions是该语言的重要元素。An action named doLast is the last action that's executed for a task。Gradle允许用一种更简明的方法来指定同样的逻辑。<< 操作符就是action doLast的快捷方式。下面是修改后的版本:
task helloWorld << {
println 'Hello world!'
}
=======================更复杂的一个例子=========================
task startSession << {
chant()
}
def chant() {
ant.echo(message: 'Repeat after me...') // Implicit Ant task usage
}
3.times {
task "yayGradle$it" << { // Dynamic task definition
println 'Gradle rocks'
}
}
// Task dependencies
yayGradle0.dependsOn startSession
yayGradle2.dependsOn yayGradle1, yayGradle0
task groupTherapy(dependsOn: yayGradle2)
在背后,dependsOn 实际上是一个task的方法。Gradle和Ant间有着紧密的集成。每个脚本都配备了一个属性,叫 ant,它授权你可以直接访问Ant tasks。这里,你用Ant的echo任务打印出“Repeat after me”。
我们还可以定义动态任务,就是在运行时指定它们的名字。刚才的脚本在一个循环中创建了3个新任务,用的是Groovy的在java.lang.Number上的times方法扩展。
Groovy自动暴露了一个隐式变量,叫 it,指示循环的迭代索引。我们用该计数器来构建任务的名称。第一次迭代,任务名就是yayGradle0。
运行效果,如下:
$ gradle groupTherapy
:startSession
[ant:echo] Repeat after me...
:yayGradle0
Gradle rocks
:yayGradle1
Gradle rocks
:yayGradle2
Gradle rocks
:groupTherapy
上一篇: hash最小值过滤算法
下一篇: 购物车商品服务费计算规则 算法购物车