本文的示例是在Windows
環境下基於Groovy
的Gradle
構建。app
basic-demo
在項目的命令行(例如個人當前目錄就是G:\basic-demo
)裏面執行gradle init
指令,遇到選項直接按回車鍵使用默認配置便可(這樣默認建立的是基於Groovy
腳本的項目)。執行成功輸出關鍵內容以下:ide
Get more help with your project: https://guides.gradle.org/creating-new-gradle-builds BUILD SUCCESSFUL in 1m 28s 2 actionable tasks: 2 executed
Gradle
項目初始化成功後會生成一系列文件,內容以下所示(下面展現的是基於Groovy
腳本的項目,基於Kotlin
的項目,部分文件的文件名後綴爲kts
)gradle
├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle
build.gradle
用於配置當前項目的Gradle構建腳本gradle-wrapper.jar
爲Gradle Wrapper
可執行JARgradle-wrapper.properties
爲Gradle Wrapper
的配置gradlew
爲基於Unix
的系統的Gradle Wrapper
腳本gradlew.bat
爲適用於Windows
的Gradle Wrapper
腳本settings.gradle
用於配置Gradle
構建時的配置信息Gradle
提供了經過Groovy
或者Kotlin
建立和配置任務的API
,這些API
也被稱爲任務庫。ui
src
目錄src
目錄建立一個myfile.txt
文件,並在裏面添加一行內容Hello, World!
在build.gradle
文件新增一個名字爲copy
的任務,這個任務會將src
目錄的文件複製到dest
目錄(dest
目錄不存在時,任務會自動建立),關鍵代碼以下插件
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") { from "src" into "dest" }
task copy
中的copy
表示任務名稱,爲調用任務時的關鍵參數。type
爲任務類型,Gradle
提供了一系列封裝好的任務API
,這類選擇使用的是任務庫中Copy
這個API
,它能夠將文件從一個位置複製到另外一個位置。group
爲任務組,description
爲任務簡介,目前暫時不須要用上,後面會介紹。from
和into
是Copy API
的兩個參數,from
表示數據源,into
表示複製的目的地調用copy
任務,在控制檯輸入gradlew copy
便可,執行結果以下:命令行
BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed
gradlew <task>
格式便可調用對應的任務Gradle
提供了一系列實用的插件,咱們能夠在Gradle插件市場中檢索須要的插件。code
下面將會經過使用base
插件來進行演示ip
在build.gradle
新增插件配置(須要注意插件配置內容要在文件最頂部)get
plugins { id "base" }
添加一個將src
目錄中的文件打包成一個zip
包的任務it
task zip(type: Zip, group: "Archive", description: "Archives sources in a zip file") { from "src" setArchiveName "basic-demo-1.0.zip" }
task copy
中的zip
表示任務名稱,爲調用任務時的關鍵參數。type
爲任務類型,Zip
是base
插件提供的API
。group
爲任務組,description
爲任務簡介,目前暫時不須要用上,後面會介紹。from
和setArchiveName
是Zip API
的兩個參數,from
表示數據源,setArchiveName
表示打包後的壓縮包名稱任務執行輸出內容以下:
BUILD SUCCESSFUL in 1s 1 actionable task: 1 up-to-date
而後就能夠在根目錄下的build\distributions
目錄下看到對應的壓縮包了