1. 程式人生 > >Gradle筆記——關於Gradle 1.12

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及之後的版本增刪的內容再在後續補充。

Gradle 1.12的更新的內容

1.Gradle是通過Tooling API與IDE進行整合的。在這一版本當中,對Tooling API進行了一些優化,所以匯入Gradle專案會變得更快。 2,對用它構建C專案的人來說,這是個好訊息。在1.12當中改進了Clang與Visual Studio的整合,並且通過CUnit提供了對此原生程式碼的支援。Clang的更新還有其他內容,由於我的重點是Android專案,對此不作其他描述,如果有興趣,可以去看使用者手冊裡Clang的章節。 3.在依賴管理方面也進行了改進,可以通過組合的元資料規則,定義某個版本是否為像Maven的SNAPSHOT一樣的版本。比如以下程式碼:
dependencies {
    components {
        eachComponent { ComponentMetadataDetails details ->
            details.changing =
                details.id.group == "my.company" &&
                    details.id.version.endsWith("-dev")
        }
    }
}

它就會認為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,以免我萬一誤導了別人卻沒有改正的機會。