1. 程式人生 > >建立一個簡單gradle指令碼(二)

建立一個簡單gradle指令碼(二)

update time:2019-1-10 Author:要你命三千又三千 type: 學習筆記

文章目錄

問題一:如何是用gradle 搭建的環境建立一個簡單的Gradle指令碼

這裡我直接利用gradle bash 來寫個指令碼

新建資料夾
在資料夾中建立一個檔案build.gradle (這裡必須是build.gradle 檔案)

task hello{  //定義了一個任務(task)hello
doLast{           // 動作(action)是一個閉包組成
println 'hello World!'//System.out.println("hello world!")
  }
}

開啟終端,輸入以下命令gradle -v hello
在這裡插入圖片描述
分析:

  • build.gradle 是預設的構建指令碼檔案
  • gradle 命令執行時預設載入build.gradle檔案
  • 使用 -b 可以指定要載入的檔案
  • gradle -q hello 執行任務hello 並且列印日誌 (-q指定列印日誌)

問題二:gradle Wrapper(包裝層)是什麼

1.作用:便於團隊開發過程中統一gradle構建的的版本(這樣大家就可以使用統一的Gradle 版本進行構建,避免因為gradle版本不同帶來麻煩)
關鍵字:團隊開發 ,版本統一
wrapper的好處是

在這裡插入圖片描述
解釋:使用wrapper 這種方式來自動來下載所需版本進行構建。方便開發人員。不用專門配置環境。二.方便伺服器上做持續整合。(從根本上來講就是不用再配置gradle 外掛的版本,保持構建環境的統一)

生成wrapper檔案
在這裡插入圖片描述
生成目錄

在這裡插入圖片描述
在這裡插入圖片描述
原理:自帶wrapper 任務,執行即可生成wrapper 檔案
在這裡插入圖片描述


解釋:

  • gradlew 和gradlew.bat 是用gardle 命令寫成的可執行指令碼
  • gradle-wrapper.jar 是生成的邏輯jar包
  • gradlew —執行—>gradle-wrapper.jar 包----執行---->gradle 操作
    -gradle-wrapper.properties 是配置檔案(用於配置使用哪個版本的gardle)

補充-----gradle-wrapper.properties 是配置檔案屬性的含義

各項內容的含義
zipStoreBase和zipStorePath組合在一起,是下載的gradle-3.1-bin.zip所存放的位置。
zipStorePath是zipStoreBase指定的目錄下的子目錄。
distributionBase和distributionPath組合在一起,是解壓gradle-3.1-bin.zip之後的檔案的存放位置。
distributionPath是distributionBase指定的目錄下的子目錄。
zipStoreBase和distributionBase有兩種取值:GRADLE_USER_HOME(放在使用者目錄下)和PROJECT(grdle目錄下)
gardle_USER_HOME:其中,GRADLE_USER_HOME表示使用者目錄。
在windows下是%USERPROFILE%/.gradle,例如C:\Users<user_name>.gradle
PROJECT: gradlew所在目錄的wrapper/dists目錄下(當前gradle 所在的目錄裡)

舉例
gradle-wrapper.properties的內容如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-3.1-bin.zip

可以知道:
下載的gradle-3.1-bin.zip存放到C:\Users<user_name>.gradle\wrapper\dists目錄中(最後的路徑是有zipstorePath指定)
解壓後文件所在的路徑為:解壓後的檔案存放到C:\Users<user_name>.gradle\wrapper\dists中(同理後面的兩位路徑由distributionPath 指定了)
具體的路徑 形式:這裡提一下dists裡面依舊有一個二級目錄。
在這裡插入圖片描述
distributionUrl:指定了gradle 的下載地址
在這裡插入圖片描述

參考文章:gradle-wrapper.properties中各屬性的含義(各個gradle版本型別對比)