1.普通建立
task hello1
}
2.直接用任務名稱建立
task hello2 = task(hello2)
hello2.dolast
3.任務名稱+任務配置建立
task hello3 = task(hello3,group: baseplugin.build_group)
hello3.dolast
4.taskcontainer 的 create 方法建立
tasks.create(name: 'hello4')
}
1.依賴於已經存在的任務的任務宣告
task hello
}task intro
}
執行: gradle -q intro
輸出:hello
i'm gradle
2.懶惰依賴-另一項任務不存在(目前還不存在
task hello
}task afterhello
}
執行: gradle -q hello
輸出:after hello task
hello
動態定義任務指的是在執行時來定義任務的名稱
4.times
}}
times是groovy
在j**a.lang.number
中拓展的方法,是乙個定時器。4.times中迴圈建立了三個新任務,隱式變數number的值為0,1,2,3 任務的名稱由 task 加上 number 的值組成,達到了動態定義任務的目的。
執行:gradle -q task0
輸出:i'm task number 0
它在執行時動態地向任務新增依賴項
1.通過 api 訪問任務-新增依賴項
4.times
}}task0.dependson task2, task3
執行:gradle -q task0
輸出:i'm task number 2
i'm task number 3
i'm task number 0
也可以將行為新增到現有任務中。
2.通過 api 新增行為訪問任務
task hello
}hello.dofirst
hello.configure
}hello.configure
}
執行:gradle -q hello
輸出:hello venus
hello earth
hello mars
hello jupiter
作為構建指令碼的屬性訪問任務
task hello
}hello.dolast
執行:gradle -q hello
輸出:hello world!
greetings from the hello task.
gradle允許您定義乙個或多個預設任務,如果沒有指定其他任務,則可以執行這些任務。
defaulttasks 'clean', 'run'
task clean
}task run
}task other
}
執行:gradle -q
輸出:default cleaning!
default running!
gradle有乙個配置階段和乙個執行階段。在配置階段之後,gradle知道應該執行的所有任務。gradle為您提供了乙個利用這些資訊的鉤子。這樣做的乙個用例是檢查發布任務是否在要執行的任務中。根據這一點,您可以為某些變數分配不同的值。
在下面的示例中,執行distribution
和release
任務導致不同的值。version
變數。
task distribution
}task release
}gradle.taskgraph.whenready else
}
執行: gradle -q distribution
輸出:we build the zip with version=1.0-snapshot
執行: gradle -q release
輸出:we build the zip with version=1.0
Gradle系列之構建指令碼基礎
setting 檔案 build 檔案 project 和 tasks 任務的建立 任務依賴 任務間的互動 自定義屬性 總結setting 檔案 說一下 gradle 構建專案的 setting 檔案,該檔案主要用來配置當前工程,比如 android 開發中乙個專案中可能有多個子 module,當不...
構建基礎shell指令碼
大二的時候學了shell指令碼程式設計,這在後來的linux系統的使用中給了我很大的幫助,它能讓我更加快捷的完成一些工作。這也是乙個對shell程式設計細節部分的複習系列,參考到了 linux命令列與shell指令碼程式設計大全 第3版 當年我用到的還是第2版,時間過得真快呀。通過這麼乙個簡單的指令...
Gradle多模組的專案構建
repositories task mkdirs sourcesets resources.srcdirs each 分別執行gradle mkdirs任務會自動建立好src目錄。2.對包含在多專案構建中的專案進行配置 可以通過以下步驟,對包含在多專案構建中的專案進行配置 在根專案的根目錄下建立se...