## 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')
}
~~~
- 前言
- gradle學習(1)-helloworld
- gradle學習(2)-基礎語法
- gradle學習(3)-基礎認識
- gradle學習(4)-構建java項目
- gradle學習(5)-創建eclipse項目
- gradle學習(6)-依賴管理
- gradle學習(7)-groovy
- gradle學習(8)-gradle的命令行
- gradle學習(9)-獲取build相關信息
- gradle學習(10)-gui
- gradle學習(11)-編寫構建腳本
- gradle學習(12)-groovy一些基礎語法
- gradle學習(13)-有的沒的
- gradle學習(14)-任務
- gradle學習(15)-任務
- gradle學習(16)-操作文件
- gradle學習(17)-被合并的ant
- gradle學習(18)-ant的屬性
- gradle學習(19)-log系統
- gradle學習(20)-詳解java插件
- gradle學習(21)-在eclipse中構建java項目
- gradle復習(1)-2種定義任務方式的區別
- gradle復習(2)-eclipse中添加依賴jar包
- gradle復習(3)-在gradle項目中使用TestNG
- gradle復習(4)-Cannot find System Java Compiler
- gradle復習(5)-Test remote debug
- gradle復習(6)-深入Jacoco
- gradle復習(7)-深入Jacoco
- gradle復習(8)-Task中行為
- gradle學習(22)-Sonar
- gradle學習(23)-Sonar runner