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

最后更新于:2022-04-01 06:51:46

## 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') } ~~~
';