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:workspyiibai.comgradle-3.1studyscriptbuild.gradle。腳本中定義一個任務名稱 helloword,這是用來打印」Yiibai gradle qick start「 字符串。

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

D:workspyiibai.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:workspyiibai.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:workspyiibai.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:workspyiibai.comgradle-3.1studyscript>gradle -q groovyJDKMethod
Y
i
i
b
a
i