[老實李] Gradle學習筆記-使用kotlin編寫gradle指令碼
1、到官網下載安裝,配置環境變數
https://gradle.org/
點選Binary-only,下載壓縮包,解壓並配置環境變數(bin目錄)
在cmd測試gradle是否配置成功
2、入門演示
建立新工程
(1)修改gradle -> wrapper -> gradle-wrapper.properties
修改 distributionUrl為本地的gradle壓縮包地址
( 2 )修改build.gradle的檔名為build.gradle.kts
這樣就可以使用kotlin來編寫gradle指令碼了。
(3)重啟IDE 為了防止出現一些問題 ok,工程配置完成,接下來我們在build.gradle.kts中寫點東西
plugins{
application //使用構建工具,這個構建工具就是一個應用程式的名字
}
application{
mainClassName = "Main" //程式主入口
}
Tips:開啟gradle皮膚
程式示範,建立一個Main的java類,列印個“Hello gradle”。因為之前已經在build.gradle.kts檔案下寫了mainClassName就是我們建立的Main.java類,點選gradle皮膚上的run方法就會執行Main.java中的main方法,
點選distZip就會在build資料夾下生成一個zip壓縮包。這個壓縮包解壓之後就是一個jar包和一個在windows平臺下執行的.bat檔案,還有一個在Linux系統下執行的檔案。可以再當前資料夾下直接CMD中執行xxx.bat就會列印出“Hello gradle”
3.Gradle的靈魂:Project 和 Task
概念:
Gradle本身的領域物件主要有Project和Task
Project為Task提供了執行的容器和上下文
Task案例,Task的依賴
Task的生命週期
掃描&執行
掃描時就會執行列印操作。(當點選closeDoor task的時候,依次列印出“關冰箱門”,“開冰箱門”,“放入大象”,這顯然是不符合我們定義的dependsOn的,這便是Task的掃描生命週期。)
要想在Task執行的時候在進行列印操作,那麼就需要使用doFirst函式還包含程式碼內容。(加上dofirst函式,程式碼執行邏輯正常。)
Tasks任務集
多個任務的合集就是任務集
tasks{
"opendoor"{
}
"putelephont"{
}.dependsOn("opendoor")
"closedoor"{
}.dependsOn("putelephont")
}
Task的預設屬性
task("println"){
project.properties.forEach{
t, any ->
println("$t:$any")
}
}
Task預設任務
task("println"){
project.properties.forEach{
t, any ->
println("$t:$any")
}
}
defaultTasks("println")
//這樣,當在Terminal輸入:gradle 的時候就會預設的輸出任務“println”的內容
4.Gradle增量式更新
一般來說,程式碼發生變化之後進行編譯會將所有的程式碼都給編譯一遍,而Gradle支援的增量式更新就是隻編譯程式碼有改動的部分,大大提高了編譯的效率。
5.Gradle常用外掛
什麼是外掛:外掛是包含一個或多個任務的合集
application外掛:就是編譯出一個程式,可以是kotlin應用程式,也可是java應用程式,我們剛開始做的hello gradle就是用的這個
java外掛:只能編譯出java應用程式
war外掛:war包,放到tomcat中執行的
相關文章
- 用Kotlin寫Android Gradle指令碼KotlinAndroidGradle指令碼
- Gradle學習筆記Gradle筆記
- Android Gradle 學習筆記整理AndroidGradle筆記
- Gradle外掛學習筆記(一)Gradle筆記
- Gradle外掛學習筆記(四)Gradle筆記
- Gradle外掛學習筆記(三)Gradle筆記
- Gradle外掛學習筆記(二)Gradle筆記
- 【SpringBoot學習筆記】-IDEA中使用gradle和MybatisSpring Boot筆記IdeaGradleMyBatis
- 使用Gradle編寫蒲公英自動上傳安裝包和更新說明指令碼Gradle指令碼
- Android學習筆記之build.gradle檔案Android筆記UIGradle
- Gradle 教程學習Gradle
- Gradle Kotlin DSL 1.0GradleKotlin
- JNI學習筆記之AS+ndk+gradle自動編譯出so並整合流程筆記Gradle編譯
- 【安卓筆記】gradle入門安卓筆記Gradle
- Shell指令碼學習筆記指令碼筆記
- Gradle自動化專案構建之Gradle學習及實戰Gradle
- 編寫最基本的Gradle外掛Gradle
- 《Shell指令碼學習指南》學習筆記指令碼筆記
- 彙編學習筆記07——BCD碼及調整指令筆記
- Gradle指令碼:上傳Apk到蒲公英Gradle指令碼APK
- shell指令碼學習筆記-1指令碼筆記
- 不得不學之「 Gradle」 ③ 構建指令碼基礎Gradle指令碼
- Redis學習筆記(三)使用Lua指令碼實現分散式鎖Redis筆記指令碼分散式
- 彙編學習筆記之轉移指令筆記
- Android SDK編寫學習筆記Android筆記
- webpack 學習筆記:實戰之 babel 編碼Web筆記Babel
- Gradle Kotlin DSL遷移指南GradleKotlin
- 【譯】當 Kotlin 遇見 GradleKotlinGradle
- Kotlin學習筆記 其他Kotlin筆記
- 李巨集毅機器學習-學習筆記機器學習筆記
- 修改gradle指令碼,加速spring4.1原始碼編譯構建速度Gradle指令碼Spring原始碼編譯
- Gradle系列之構建指令碼基礎Gradle指令碼
- Gradle與Gatling指令碼整合Gradle指令碼
- Gradle Kotlin DSL , 你知道它嗎?GradleKotlin
- 李巨集毅深度學習 筆記(四)深度學習筆記
- Kotlin for Java Developers 學習筆記KotlinJavaDeveloper筆記
- Kotlin學習筆記(5)- 類Kotlin筆記
- Kotlin 入門學習筆記Kotlin筆記