Gradle構建腳本

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

注:Gradle使用Groovy語言編寫腳本。

編寫構建腳本

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

創建build.gradle檔

看看下麵的例子演示一個小腳本,它將列印 “zaixian gradle qick start“。複製並保存以下腳本到檔:D:/workspy/iibai.com/gradle-3.1/studyscript。腳本中定義一個任務名稱 helloword,這是用來列印”zaixian gradle qick start“ 字串。

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

D:workspxuhuhu.comgradle-3.1studyscript>gradle -q helloword
zaixian gradle qick start

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

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

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

Gradle如何使用Groovy

Gradle 構建腳本使用 Groovy API。作為一個入門,我們來來看看下麵的例子。以下示例演示將字串轉換為大寫。
複製並保存下麵的代碼到 build.gradle 檔。

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

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

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q upper
Original: zaixian gradle tutorials
Upper case: zaixian GRADLE TUTORIALS

下麵的例子 4 次列印隱式參數 ($it) 的值。複製並保存下麵的代碼到 build.gradle 檔。

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

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

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q count
0 1 2 3

Groovy的JDK方法

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

複製並保存下麵的代碼到 build.gradle 檔。

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

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

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q groovyJDKMethod
Y
i
i
b
a
i

以下是糾正/補充內容:

啊,從編寫構建腳本那開始,照你描述的做,在cmd命令窗口模式下運行,報構建錯誤怎麼處理啊  提交時間:2019-08-14
啊,從編寫構建腳本那開始,照你描述的做,在cmd命令窗口模式下運行,報構建錯誤怎麼處理啊?cmd 到你指定的bulid.gradle 目錄下才能執行  提交時間:2019-10-29