欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开始使用Gradle

程序员文章站 2022-07-12 20:19:15
...

   每一个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