建立一個簡單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 的下載地址