其他章節的翻譯請參見:
http://blog.csdn.net/column/details/gradle-translation.html
翻譯項目請關注Github上的地址:
https://github.com/msdx/gradledoc/tree/1.12。
直接閱讀雙語版的文檔請訪問:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手機用戶可通過我寫的1個程序閱讀文檔,帶緩存功能的,兼容2.1以上(5.0沒試過)的Android系統,地址以下:
http://www.wandoujia.com/apps/com.githang.gradledoc
翻譯不容易,轉載請注明本文在CSDN博客上的出處:
http://blog.csdn.net/maosidiaoxian/article/details/45390357
關于我對Gradle的翻譯,以Github上的項目及http://gradledoc.qiniudn.com 上的文檔為準。如有發現翻譯有誤的地方,將首先在以上兩個地方更新。因時間精力問題,博客中發表的譯文基本不會同步修改。
Groovy 的插件繼承自 Java 插件并添加了對 Groovy 項目的支持。它可以處理 Groovy 代碼,和混合的 Groovy 和 Java 代碼,乃至是純 Java 代碼(雖然我們不1定推薦使用)。該插件支持聯合編譯,可以任意地混合及匹配Groovy 和 Java 代碼各自的依賴。例如,1個 Groovy 類可以繼承自1個 Java 類,而這個 Java 類也能夠繼承自1個 Groovy 類。這樣1來,我們就可以夠在項目中使用最合適的語言,并且在有需要的情況下用其他的語言重寫其中的任何類。
要使用 Groovy 的插件,請在構建腳本中包括以下語句:
示例 24.1. 使用 Groovy 插件
build.gradle
Groovy 的插件向project 中添加了以下任務。
表 24.1. Groovy 插件 - 任務
任務名稱 | 依賴于 | 類型 | 描寫 |
compileGroovy |
compileJava |
GroovyCompile |
編譯production 的 Groovy 源文件。 |
compileTestGroovy |
compileTestJava |
GroovyCompile |
編譯test 的 Groovy 的源文件。 |
compile |
compile |
GroovyCompile |
編譯給定的source set 里的 Groovy 源文件。 |
groovydoc |
- |
Groovydoc |
為production 里的 Groovy 源文件生成 API 文檔。 |
Groovy 的插件向 Java 插件所加入的 tasks 添加了以下的依賴。
表 24.2. Groovy 插件 - 額外的task 依賴
任務名稱 | 依賴于 |
classes | compileGroovy |
testClasses | compileTestGroovy |
sourceSet Classes |
compileSourceSet Groovy |
圖 24.1. Groovy 插件 - tasks
Groovy 的插件會假定項目的布局如表 24.3,“Groovy 插件 - 項目布局”中所示。所有 Groovy 的源目錄都可以包括 Groovy和Java 代碼。Java 源目錄只能包括 Java 源代碼。[11]這些目錄不1定得存在或是里面包括有甚么內容;Groovy 的插件只會進行編譯,而不管它發現甚么。
表 24.3. Groovy 插件 - 項目布局
目錄 | 意義 |
src/main/java |
產品的Java源代碼 |
src/main/resources |
產品的資源 |
src/main/groovy |
Production Groovy 源代碼。另外可能包括聯合編譯的 Java 源代碼。 |
src/test/java |
Java 測試源代碼 |
src/test/resources |
測試資源 |
src/test/groovy |
Test Groovy 源代碼。另外可能包括聯合編譯的 Java 源代碼。 |
src/ |
給定的源集的Java源代碼 |
src/ |
給定的源集的資源 |
src/ |
給定的source set 的 Groovy 源代碼。另外可能包括聯合編譯的 Java 源代碼。 |
和 Java 插件1樣,Groovy 插件允許把 Groovy 的production 和test 的源文件配置為自定義的位置。
示例 24.2. 自定義 Groovy 自定義源文件布局
build.gradle
由于 Gradle 的構建語言基于 Groovy 的,且部份的 Groovy 使用 Groovy 實現,因此 Gradle 已帶有了1個 Groovy 庫 (截至 Gradle 1.6所帶的 Groovy 庫的版本是 1.8.6)。但是,Groovy 項目需要顯式地聲明1個 Groovy 依賴。這個依賴會在編譯和運行的類路徑時用到。它還將用于分別獲得Groovy 編譯器及 Groovydoc 工具。
如果 Groovy 用于production 代碼,Groovy 依賴應當添加到compile
配置中:
示例 24.3. Groovy 的依賴配置
build.gradle
如果 Groovy 僅用于測試代碼,Groovy 的依賴應當被添加到testCompile
配置中:
示例 24.4. 配置Groovy 測試依賴
build.gradle
如果要使用 Gradle 所帶的 Groovy 庫,請聲明localGroovy()
依賴。注意,不同
Gradle 版本附帶的 Groovy 版本不同;因此,聲明1個固定的 Groovy 依賴要比使用localGroovy()
更安全1些。
示例 24.5. 配置捆綁的 Groovy 依賴
build.gradle
Groovy 庫不1定得從遠程倉庫中獲得。它也能夠獲得自本地中可能檢入版本控制的lib
目錄:
示例 24.6. 配置Groovy 文件依賴
build.gradle
GroovyCompile
和Groovydoc
tasks
會以兩種方式使用 Groovy: 在它們的classpath
和它們的groovyClasspath
上。前者用于在源代碼中查找類的援用,通常會包括
Groovy 庫和其他庫。后者用來分別加載和履行 Groovy 編譯器和 Groovydoc 工具,并且應當只包括 Groovy 庫及其依賴項。
除非顯式配置了1個 task 的groovyClasspath
,否則
Groovy(基礎)插件會嘗試推斷該 task 的classpath
。以以下方式進行:
classpath
中找到groovy-all(-indy)
Jar,相同的
Jar 將添加到groovyClasspath
中。