建立新的Gradle構建

前言

本文的示例是在Windows環境下基於GroovyGradle構建。app

初始化項目

  1. 建立項目目錄,目錄名爲basic-demo
  2. 在項目的命令行(例如個人當前目錄就是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的項目,部分文件的文件名後綴爲ktsgradle

├── build.gradle  
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar  
│       └── gradle-wrapper.properties  
├── gradlew  
├── gradlew.bat  
└── settings.gradle
  1. build.gradle用於配置當前項目的Gradle構建腳本
  2. gradle-wrapper.jarGradle Wrapper可執行JAR
  3. gradle-wrapper.propertiesGradle Wrapper的配置
  4. gradlew爲基於Unix的系統的Gradle Wrapper腳本
  5. gradlew.bat爲適用於WindowsGradle Wrapper腳本
  6. settings.gradle用於配置Gradle構建時的配置信息

建立任務

Gradle提供了經過Groovy或者Kotlin建立和配置任務的API,這些API也被稱爲任務庫。ui

  1. 在項目的根目錄建立一個src目錄
  2. src目錄建立一個myfile.txt文件,並在裏面添加一行內容Hello, World!
  3. 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爲任務簡介,目前暫時不須要用上,後面會介紹。
    • fromintoCopy API的兩個參數,from表示數據源,into表示複製的目的地
  4. 調用copy任務,在控制檯輸入gradlew copy便可,執行結果以下:命令行

    BUILD SUCCESSFUL in 1s
    1 actionable task: 1 executed
  5. 若是須要調用其餘任務只須要按照gradlew <task>格式便可調用對應的任務

使用插件

Gradle提供了一系列實用的插件,咱們能夠在Gradle插件市場中檢索須要的插件。code

下面將會經過使用base插件來進行演示ip

  1. build.gradle新增插件配置(須要注意插件配置內容要在文件最頂部)get

    plugins {
        id "base"
    }
  2. 添加一個將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爲任務類型,Zipbase插件提供的API
    • group爲任務組,description爲任務簡介,目前暫時不須要用上,後面會介紹。
    • fromsetArchiveNameZip API的兩個參數,from表示數據源,setArchiveName表示打包後的壓縮包名稱
  3. 任務執行輸出內容以下:

    BUILD SUCCESSFUL in 1s
    1 actionable task: 1 up-to-date

    而後就能夠在根目錄下的build\distributions目錄下看到對應的壓縮包了

相關文章
相關標籤/搜索