[老實李] 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中執行的
相關文章
- Android Gradle 學習筆記整理AndroidGradle筆記
- Gradle外掛學習筆記(一)Gradle筆記
- Gradle外掛學習筆記(四)Gradle筆記
- 【SpringBoot學習筆記】-IDEA中使用gradle和MybatisSpring Boot筆記IdeaGradleMyBatis
- 使用Gradle編寫蒲公英自動上傳安裝包和更新說明指令碼Gradle指令碼
- Android學習筆記之build.gradle檔案Android筆記UIGradle
- Gradle Kotlin DSL 1.0GradleKotlin
- Gradle 教程學習Gradle
- Gradle自動化專案構建之Gradle學習及實戰Gradle
- Gradle指令碼:上傳Apk到蒲公英Gradle指令碼APK
- Gradle Kotlin DSL遷移指南GradleKotlin
- springboot: kotlin + gradle + jdbc(mysql) demoSpring BootKotlinGradleJDBCMySql
- 修改gradle指令碼,加速spring4.1原始碼編譯構建速度Gradle指令碼Spring原始碼編譯
- 不得不學之「 Gradle」 ③ 構建指令碼基礎Gradle指令碼
- Gradle系列之構建指令碼基礎Gradle指令碼
- Gradle Kotlin DSL , 你知道它嗎?GradleKotlin
- Gradle 編譯警告亂碼問題Gradle編譯
- 彙編學習筆記07——BCD碼及調整指令筆記
- Redis學習筆記(三)使用Lua指令碼實現分散式鎖Redis筆記指令碼分散式
- shell指令碼學習筆記-1指令碼筆記
- 不得不學之「 Gradle」 ④ Gradle 任務Gradle
- 不得不學之「 Gradle」 ⑤ Gradle 外掛Gradle
- 彙編學習筆記之轉移指令筆記
- Gradle指南之從Groovy遷移到KotlinGradleKotlin
- Gradle 與 AGP 構建 API: 如何編寫外掛GradleAPI
- webpack 學習筆記:實戰之 babel 編碼Web筆記Babel
- Kotlin for Java Developers 學習筆記KotlinJavaDeveloper筆記
- Gradle 使用技巧(一)Gradle
- 【Android 修煉手冊】Gradle 篇 -- Gradle 的基本使用AndroidGradle
- Gradle最佳實踐Gradle
- 其實 Gradle Transform 就是個紙老虎 —— Gradle 系列(4)GradleORM
- Gradle學習系列----多專案構建Gradle
- Gradle學習系列—-多專案構建Gradle
- Angularjs學習筆記指令AngularJS筆記
- Vue 學習筆記——指令Vue筆記
- Gradle系列之Gradle外掛Gradle
- Gradle系列(四) Gradle外掛Gradle
- 李巨集毅機器學習-學習筆記機器學習筆記
- springboot gradle demo (使用 Gradle 構建的 Spring Boot專案)Spring BootGradle