码迷,mamicode.com
首页 > 其他好文 > 详细

gradle入门演示

时间:2015-09-22 16:49:32      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

gradle入门演示

安装配置省略

在idea中新建gradle工程名字:Gradle-Showcase

?  Gradle-Showcase  gradle -v

------------------------------------------------------------
Gradle 2.6
------------------------------------------------------------

Build time:   2015-08-10 13:15:06 UTC
Build number: none
Revision:     233bbf8e47c82f72cb898b3e0a96b85d0aad166e

Groovy:       2.3.10
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_51 (Oracle Corporation 25.51-b03)
OS:           Mac OS X 10.10.5 x86_64

?  Gradle-Showcase  type gradle
gradle is /Users/xinxingegeya/IDE/gradle-2.6/bin/gradle

安装成功。


Gradle Task

在build.gradle文件中编写第一个task,如下,

task helloworld() {
    doLast {
        println ‘hello world‘
    }
}

运行task,

?  Gradle-Showcase  gradle -q helloworld
hello world

task有多种写法,如下是简写的一种方式,使用<<定义task的body,

task helloworldByShortcut << {
    println ‘hello world‘
}

还有如下的task,

task upper << {
    String someString = ‘mY_nAmE‘
    println "Original: " + someString
    println "Upper case: " + someString.toUpperCase()
}

task count << {
    4.times { print "$it " }
}

这些task定义中用到了groovy的代码和方法调用,当然也用到了groovy的闭包。在学习gradle前,应该了解一下groovy闭包的用法,groovy的闭包和其他语言的闭包相差不大。


Gradle Task dependencies

gradle task可以之间可以相互依赖。同时在定义task时,可以声明task依赖的task,如下,

task hello << {
    println ‘Hello world!‘
}

task intro(dependsOn: hello) << {
    println "I‘m Gradle"
}

task intro依赖于hello 这个task。当运行intro时,hello task也会执行。如下,

?  Gradle-Showcase  gradle -q intro
Hello world!
I‘m Gradle

当hello这个task不存在时,执行intro task时会报错,如下,

* What went wrong:
A problem occurred evaluating root project ‘Gradle-Showcase‘.
> Could not find property ‘hello‘ on root project ‘Gradle-Showcase‘.

有什么办法可以解决被依赖的task不存在时报错呢?可以像下面这样声明和定义task,

task taskX(dependsOn: ‘taskY‘) << {
    println ‘taskX‘
}
task taskY << {
    println ‘taskY‘
}

运行task,

?  Gradle-Showcase  gradle -q taskX
taskY
taskX

这时taskY就是不存在也不会影响taskX。

======END======

gradle入门演示

标签:

原文地址:http://my.oschina.net/xinxingegeya/blog/509646

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!