Gradle構建指令碼


Gradle構建指令碼檔案用來處理兩件事情:一個是專案和另一個的任務。每個Gradle生成表示一個或多個專案。一個專案表示一個JAR庫或Web應用程式,也可能表示由其他專案產生的JAR檔案組裝的ZIP。 簡單地說,一個專案是由不同的任務組成。一個任務是指構建執行的一塊工作。任務可能是編譯一些類,建立一個JAR,產生的Javadoc或發布一些歸檔檔案庫。

註:Gradle使用Groovy語言編寫指令碼。

編寫構建指令碼

Gradle提供了一個域特定語言(DSL),用於描述構建。 它使用 Groovy 語言,使其更容易來形容和構建。Gradle 中的每一個構建指令碼使用UTF-8進行編碼儲存,並命名為 build.gradle

建立build.gradle檔案

看看下面的例子演示一個小指令碼,它將列印 「Yiibai gradle qick start「。複製並儲存以下指令碼到檔案:D:worksptw511.comgradle-3.1studyscriptbuild.gradle。指令碼中定義一個任務名稱 helloword,這是用來列印」Yiibai gradle qick start「 字串。

在命令提示字元下,進入儲存 build.gradle 檔案的目錄並執行以下命令,得到結果如下所示 -

D:worksptw511.comgradle-3.1studyscript>gradle -q helloword
Yiibai gradle qick start

可以通過指定一個快捷鍵(<<符號表示)到 doLast 語句來簡化 helloword 任務。 如果將快捷方式新增到上述 helloword 任務,它看起來如下面指令碼。

task helloword << {
   println 'Yiibai gradle qick start'
}

使用 gradle -q helloword 命令執行上面的指令碼,也會得到同樣的輸出結果。

Gradle如何使用Groovy

Gradle 構建指令碼使用 Groovy API。 作為一個入門,我們來來看看下面的例子。以下範例演示將字串轉換為大寫。
複製並儲存下面的程式碼到 build.gradle 檔案。

task upper << {
   String expString = 'YiiBai gradle tutorials'
   println "Original: " + expString
   println "Upper case: " + expString.toUpperCase()}

使用 gradle –q upper 執行上面的程式碼,如果命令執行成功,會得到下面的輸出。

D:worksptw511.comgradle-3.1studyscript>gradle -q upper
Original: YiiBai gradle tutorials
Upper case: YIIBAI GRADLE TUTORIALS

下面的例子 4 次列印隱式引數 ($it) 的值。複製並儲存下面的程式碼到 build.gradle 檔案。

task count << {
   4.times { 
      print "$it " 
   }
}

使用 gradle –q count 執行上面的程式碼,如果命令執行成功,會得到下面的輸出。

D:worksptw511.comgradle-3.1studyscript>gradle -q count
0 1 2 3

Groovy的JDK方法

Groovy增加了很多有用的方法到標準的Java類。 例如,從Java API可疊代實現它遍歷Iterable介面的元素的each() 方法。

複製並儲存下面的程式碼到 build.gradle 檔案。

task groovyJDKMethod << {
   String myName = "Yiibai";
   myName.each() { 
      println "${it}" 
   };
}

使用 gradle –q groovyJDKMethod 執行上面的程式碼,如果命令執行成功,會得到下面的輸出。

D:worksptw511.comgradle-3.1studyscript>gradle -q groovyJDKMethod
Y
i
i
b
a
i

以下是糾正/補充內容:

啊,從編寫構建指令碼那開始,照你描述的做,在cmd命令視窗模式下執行,報構建錯誤怎麼處理啊  提交時間:2019-08-14