## 1.DSL
gradle腳本語言是一個領域專業語言,以groovy為基礎。
## 2.project api
調用project的api來獲取和項目有關的信息
~~~
task check<<{
println name
println project.name
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
check
0110
~~~
由此可以看出第一個name是指任務名,第二個project.name打印項目的名稱。如果你把println name移到任務外,他就會打印項目的名稱
~~~
println name
task check<<{
println project.name
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
0110
0110
~~~
其他一些project相關的屬性
~~~
println name
task check<<{
//項目名
println project.name
//項目相對路徑
println project.path
//項目描述
println project.description
//項目的絕對路徑
println project.projectDir
//項目的build文件絕對路徑
println project.buildDir
//項目所在的group
println project.group
//項目的版本號
println project.version
//項目的ant對象
println project.ant
}
~~~
輸出
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
0110
0110
:
null
/Users/qianhui/Documents/Developer/gradle_project/0110
/Users/qianhui/Documents/Developer/gradle_project/0110/build
unspecified
org.gradle.api.internal.project.DefaultAntBuilder@7cc03cf7
~~~
## 3.腳本api
當執行腳本的時候,會將腳本編譯成一個class,該class是實現Script 接口的。說明你在腳本中所定義的方法和屬性都存在于該script對象中。
## 4.自定義變量
你可以在你自己寫的腳本中定義本地變量。
運用groovy基礎語法,可以使用def定義一個本地變量。
~~~
def dest = "this is myself"
task check<<{
println dest
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
this is myself
~~~
## 5.自定義屬性
ext塊可以一次性添加多個屬性
~~~
apply plugin: "java"
ext {
springVersion = "3.1.0.RELEASE"
emailNotification = "build@master.org"
}
sourceSets.all{
ext.purpose = null
}
sourceSets{
main{
purpose = "production"
}
test{
purpose = "test"
}
plugin{
purpose = "plugin"
}
}
task printProperties << {
println springVersion
println emailNotification
sourceSets.matching{
it.purpose=="production"}.each{
println it.name
}
}
~~~
執行該任務會打印上面定義的屬性
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q printProperties
3.1.0.RELEASE
build@master.org
main
~~~
- 前言
- 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