1. 程式人生 > >Gradle 1.12使用者指南翻譯——第四十七章. Build Init 外掛

Gradle 1.12使用者指南翻譯——第四十七章. Build Init 外掛

本文由CSDN部落格貌似掉線翻譯,其他章節的翻譯請參見:

http://blog.csdn.net/column/details/gradle-translation.html

翻譯專案請關注Github上的地址:

https://github.com/msdx/gradledoc

本文翻譯所在分支:

https://github.com/msdx/gradledoc/tree/1.12。

直接瀏覽雙語版的文件請訪問:

http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。

另外,Android 手機使用者可通過我寫的一個程式瀏覽文件,帶快取功能的,目前0.2.1版本相容 android 2.2以上系統,專案地址如下:

https://github.com/msdx/gradle-doc-apk

翻譯不易,轉載請註明本文在CSDN部落格上的出處:

http://blog.csdn.net/maosidiaoxian/article/details/51504232

關於我對Gradle的翻譯,以Github上的專案及http://gradledoc.qiniudn.com 上的文件為準。如有發現翻譯有誤的地方,將首先在以上兩個地方更新。因時間精力問題,部落格中發表的譯文基本不會同步修改。

第四十七章. Build Init 外掛

Build Init 外掛目前仍然是孵化狀態。請務必注意,在以後的 Gradle 版本中,相關的 DSL 和其他配置可能會有所改變。

Gradle Build Init 外掛可以用於引導建立一個新的 Gradle 構建的過程。它支援建立不同型別的全新專案,以及將現有的構建 (如 Apache Maven 構建) 轉換成 Gradle 構建。

Gradle 外掛通常需要被應用於 project 中才可以使用(見第 21.1節,"應用外掛")。 Build Init 外掛是一個自動應用的外掛,這意味著您不需要顯式地應用它。如果要使用該外掛,只需要在你想要的地方,執行名為init的任務,就可以建立 Gradle 構建。那裡不需要建立一個“存根”build.gradle檔案以應用該外掛。

它還利用了 Wrapper 外掛的wrapper任務(見第 48章,Wrapper 外掛),這意味著 Gradle Wrapper 也將被安裝到該專案。

47.1. 任務

該外掛向project 中添加了以下任務:

表 47.1. Build Init 外掛 - 任務

任務名稱依賴於型別描述
initwrapper生成一個 Gradle 專案。
wrapper-生成 Gradle wrapper 檔案。

47.2. 要設定什麼

init支援不同的構建安裝程式型別。型別通過提供一個--type引數值指定。例如,要建立一個 Java library 專案,只需執行:gradle init --type java-library

如果沒有提供--type引數,Gradle 將嘗試從當前環境來推斷型別。例如,如果它發現pom.xml,它將推斷一個“pom”的型別值,以轉換為 Gradle 構建。

如果無法推斷型別,將使用“basic”型別。

所有構建安裝型別都包括 Gradle Wrapper 的安裝。

47.3. 構建初始化的型別

由於這個外掛目前仍是孵化狀態,當前僅支援3個構建初始化型別。在未來的 Gradle 釋出中,將會新增更多型別。

47.3.1. “pom”(Maven 轉換)

pom”型別可以被用於把 Apache Maven 構建轉換為 Gradle 構建。這是通過將 POM 轉換為一個或多個 Gradle 檔案。它僅用於當有一個有效的“pom.xml”檔案在init任務被呼叫的目錄的時候。如果存在這樣的檔案,將會自動推斷此型別。

Maven 轉換實現最初由 Gradle 社群成員開發的maven2gradle tool啟發。

該轉換過程具有以下特點:

  • 使用有效的 POM 和有效設定(支援 POM 繼承、 依賴管理、 屬性)
  • 支援單個模組和多模組專案
  • 支援自定義模組名稱 (即目錄名稱有所不同)
  • 生成通用元資料 - id,description 和 version
  • 應用maven,java 和 war 外掛(如果需要)
  • 如果需要,支援把 war 專案打包為 jar 包
  • 生成依賴 (包括外部的和模組間的)
  • 生成下載倉庫(包括本地 Maven 儲存庫)
  • 調整 java 編譯器設定
  • 支援打包原始碼和測試程式碼
  • 支援 TestNG runner
  • 從 Maven enforcer 外掛設定生成全域性的 exclusions

47.3.2. “java-library

Java-library”構建初始化型別不是可推斷的。它必須顯式指定。

它具有以下特點:

  • 使用“java”外掛
  • 使用“mavenCentral()”依賴倉庫
  • 使用JUnit測試
  • 在原始碼中的約定位置有目錄
  • 如果不存在原始檔或測試檔案,會包含一個示例類和單元測試

47.3.3. “scala-library

scala-library”構建初始化型別不是可推斷的。它必須顯式指定。

它具有以下特點:

  • 使用“scala”外掛
  • 使用“mavenCentral()”依賴倉庫
  • 使用 Scala 2.10
  • 在原始碼中的約定位置有目錄
  • 如果不存在原始檔或測試檔案,會包含一個示例 scala 類和一個相應的 ScalaTest 測試套件

47.3.4. “groovy-library

groovy-library”構建初始化型別不是可推斷的。它必須顯式指定。

它具有以下特點:

  • 使用“groovy”外掛
  • 使用“mavenCentral()”依賴倉庫
  • 使用 Groovy 2.x
  • 在原始碼中的約定位置有目錄
  • 如果不存在原始檔或測試檔案,會包含一個示例 groovy 類和一個相應的 Spock 規範

47.3.5. “basic”

basic”構建初始化型別用於建立一個新的 Gradle 專案。它將建立一個示例build.gradle檔案,幷包含註釋和連結以幫助你開始。

如果沒有顯示地指定一個型別,或者無法推斷出型別時,會使用該型別。