gradle学习(12)-groovy一些基础语法

1.setter和getter语法

println project.buildDir
println getProject().getBuildDir()
project.buildDir = "target"
getProject().setBuildDir("target")
task hello<<{
        println "Hello world"
        println project.buildDir
}

执行gradle命令

/Users/qianhui/Documents/Developer/gradle_project/0110_1/build
/Users/qianhui/Documents/Developer/gradle_project/0110_1/build
Hello world
/Users/qianhui/Documents/Developer/gradle_project/0110_1/target

2.方法的调用

方法的调用可以带括号也可以不带。

test.systemProperty "some.prop","value"
test.systemProperty("some.prop","value")

3.遍历

apply plugin:"java"
test.includes = ["org/gradle/api/**","org/gradle/internal/**"]
List<String> list = new ArrayList<String>()
list.add("org/gradle/api**")
list.add("org/gradle/internal/**")
test.includes = list
Map<String,String> map = [key1:"value",key2:"value2"]

4.将闭包作为方法的最后一个参数

repositories{
        println "in a closure"
}
repositories(){
        println "in a closure"
}
repositories({
        println "in a closure"
})

在方法被调用的时候,其实可以用闭包语句来代替,因为方法其实也是执行闭包里的代码块。

5.代理闭包

每一个闭包都有可以代理对象,你可以通过该代理对象进行某些属性的设置,比如下面的dependencies任务的代理对象delegate。可以设置该任务的testCompile属性。

dependencies {
    assert delegate == project.dependencies
    testCompile("junit:junit:4.11")
    delegate.testCompile("junit:junit:4.11")
}
文章导航