gradle 裡的任何東西都是基於這兩個基礎概念:
projects ( 專案 )
tasks ( 任務 )
一、入手專案,hello world:
1、在目錄中新建build.gradle 的檔案
2、在檔案中寫入
task hello
}
3、在命令列裡, 進入指令碼所在的資料夾然後輸入 gradle -q hello 來執行構建指令碼。意思就是讓gradle執行名為hello的task。-q 代表 quiet 模式. 它不會生成 gradle 的日誌資訊 (log messages), 所以使用者只能看到 tasks 的輸出
二、用閉包形式修改helloworld
task hello <<
與前面的例子比較, dolast 被替換成了 <<. 它們有一樣的功能, 但看上去更加簡潔了
其他閉包例子:
task upper <<
三、一些常用語法形式
1、迴圈
task count <<
}
輸出:
> gradle -q count
0 1 2 3
2、依賴,應該是無task的先後順序
task taskx(dependson: 'tasky') <<
task tasky <<
gradle -q taskx 命令的輸出
> gradle -q taskx
tasky
taskx
或者可以在引數外宣告,加入乙個依賴
task taskx <<
task tasky <<
taskx.dependson tasky,othertask
3、動態任務
4.times
}
建立了4個名字不同的任務 task0, task1, task2, task3
gradle -q task1 命令的輸出
> gradle -q task1
i'm task number 1
4、加入行為
task hello <<
hello.dofirst
hello.dolast
hello <<
gradle -q hello 命令的輸出
> gradle -q hello
hello venus
hello earth
hello mars
hello jupiter
dofirst 和 dolast 可以被執行許多次. 他們分別可以在任務動作列表的開始和結束加入動作. 當任務執行的時候, 在動作列表裡的動作將被按順序執行. 這裡第四個行為中 << 操作符是 dolast 的簡單別稱.
5、短標記法
有乙個短標記 $ 可以訪問乙個存在的任務. 也就是說每個任務都可以作為構建指令碼的屬性:
task hello <<
hello.dolast
gradle -q hello 命令的輸出
> gradle -q hello
hello world!
greetings from the hello task.
name 是任務的預設屬性, 代表當前任務的名稱, 這裡是 hello.
6、自定義任務屬性
task mytask
task printtaskproperties <<
gradle -q printtaskproperties 命令的輸出
> gradle -q printtaskproperties
myvalue
7、定義使用方法
file filelist(string dir) as filefilter).sort()
}
使用方法
task checksum << "
}}
8、預設任務
defaulttasks 'clean', 'run'
task clean <<
task run <<
task other <<
gradle -q 命令的輸出
> gradle -q
default cleaning!
default running!
9、通過 dag 配置
gradle 有乙個配置階段和執行階段. 在配置階段後, gradle 將會知道應執行的所有任務. gradle 為你提供乙個"鉤子", 以便利用這些資訊.
task distribution <<
task release(dependson: 'distribution') <<
gradle.taskgraph.whenready else
}
最重要的是 whenready 在 release 任務執行之前就已經影響了 release 任務. 甚至 release 任務不是首要任務 (i.e., 首要任務是指通過 gradle 命令的任務). gradle 語法基礎
groovy 是基於jvm 的開發語言,既可以面對物件 也有指令碼語言的特性 基本特性 特性def value 1 被識別為整型 assert語句 且引數不需要括號 assert value 2 def s1 abc 單引號普通字串 def s2 abc equals 雙引號字串 可用 解析變數 d...
Gradle 學習之路
gradle 的官網 在 mac 下gradle 的配置 gradle home usr local bin gradle 2.7 export gradle home export path path gradle home bin 然後再在console上輸入以下命令 source bash p...
gradle 學習記錄
author janloong do o jar into lib sourcesets 設定測試 所在目錄 test builddir out task combinefilecontentincremental gradle在預設情況下已經為project定義了很多property,其中比較常用...