天天看點

Gradle筆記——關于Gradle 1.12

到目前為止,Gradle已經出到2.1版本了,從1.12這個版本開始看,主要是因為我使用Gradle是Android開發所需要。公司裡面是采用Android Studio來進行Android項目的開發的,而公司裡普遍用的還是Android Studio的0.8.4及其之前的版本,暫時還不能更新到2.0或更新的版本。另外,Gradle1.12是Gradle 1.x的最後一個版本,也是我用的時間最久的一個版本。也許是這種情結再加上前面的原因吧,讓我覺得有必要從Gradle 1.12開始吧。

這篇文章對Gradle 1.12的更新先做個簡要的介紹,包含但不涵蓋所有更新的内容。後續文章會詳細介紹Gradle的具體功能使用。當然,用的是1.12的版本。對于Gradle 2.0及之後的版本增删的内容再在後續補充。

1.Gradle是通過Tooling API與IDE進行整合的。在這一版本當中,對Tooling API進行了一些優化,是以導入Gradle項目會變得更快。

2,對用它建構C項目的人來說,這是個好消息。在1.12當中改進了Clang與Visual Studio的整合,并且通過CUnit提供了對此原生代碼的支援。Clang的更新還有其他内容,由于我的重點是Android項目,對此不作其他描述,如果有興趣,可以去看使用者手冊裡Clang的章節。

3.在依賴管理方面也進行了改進,可以通過組合的中繼資料規則,定義某個版本是否為像Maven的SNAPSHOT一樣的版本。比如以下代碼:

它就會認為group為"my.company"并且版本号以"-dev"結束的庫都是在不斷更新的。這樣在進行建構的時候,就會再去更新這個庫,而不是用着舊的緩存了。

4.對跳過的測試,在生成的測試報告中,有了特定的标簽來标志。

5.支援建構超出zip标準格式的大zip檔案。在以前的版本當中,會生成一個無效的zip檔案,不過這個版本開始,可以通過設定zip64屬性為true來生成大的zip檔案。如果沒有設定,而zip的檔案大小或檔案數量超出限制,則會建構失敗。

6.預設使用pom配置。這一版本完全遵從POM檔案定義的依賴管理等屬性資訊。

7.對JVM的Test和JavaExec程序,通過加上 --debug-jvm參數來進行調試。這個參數會使JVM以debug模式啟動,以友善調試。

8.現在graddle-wrapper用HTTPS協定進行下載下傳。gradle wrapper可以看作是對gradle的封裝,它可以使得在沒有安裝gradle的電腦上也可以使用Gradle進行建構。可以看下你的項目中的gradlew.bat或gradlew.sh檔案吧。

好多,一大堆 。這裡略過不談。

一些内容在1.12版本變為過時的,并且會在2.0版本後将它們移除。是以用Android Studio的朋友,注意你的gradle版本和gradle android插件的版本與你的IDE的版本的對應吧。

另外關于Tooling API版本相容,這個是做IDE整合的人需要關注的,我們不是做IDE的開發的,這些就不說的。

1.對Scala增加了增量編譯。Scala的編譯器Zinc更新到0.3.0版本,對于早期的使用者來講,可能會是一個比較大的修改。當然,這樣的使用者可能并不多。

2.導入Ant builds時會重新組織依賴順序。是以從Ant builds導入的任務,從這一版本開始可能執行順序會和以前的版本不同。

3.對寫Gradle插件的人來說,可能需要注意一下,Test.filter和IdeaModule.singleEntryLibraries這兩個方法都有了修改。

還有其他改動,由于我對它們提不起多大興趣,是以略過不談。具體見:http://www.gradle.org/docs/1.12/release-notes.html。

以上是對這個版本的簡要介紹。由于目前的文檔大部分都是英文的,部落客的英文水準也比較一般,如果有表述或了解得不對的,歡迎在下面指出。最近我也正在努力學習英語和學習翻譯,想作出貢獻又惟恐誤導了别人,在學習和翻譯的路人艱難前進,接受大家對于我傳達有誤的地方的所有批評和指正。

本文原創,轉載請保留原文位址http://blog.csdn.net/maosidiaoxian/article/details/40040177,以免我萬一誤導了别人卻沒有改正的機會。

繼續閱讀