前言
Gradle
自動化編譯工具為 Ant , Maven ,Gradle
Ant -> 【認識 Gradle】(1)講古的時間 Apache Ant | CodeData
提供一組 XML 標籤,讓你定義一個『專案(project)』內要提供哪些『目標(target)』,在目標內需要描述有哪些『任務(task)』需要被執行。簡而言之,Ant 讓你用 XML 的方式描述一些自動化編譯的事項,就如同撰寫程式語言一般。說到程式語言不外乎,語法、語意與函式,若將上述概念轉換成 Ant 的領域,則為 XML、DataType、Properties、Task。
Maven -> 【認識 Gradle】(2)講古的時間 Apache Maven by qrtt1 | CodeData
Maven 被創造出來的動機有二個主要原因:
- Java 專案的標準化
- Java 專案函式庫管理的問題
Gradle -> 為什麼要用Gradle? - 申思維的技術站點 | CodeData
ANT的缺點:
很容易變臃腫。雖然ANT 提倡大家寫個MODULE出來,但是大部分人都不會這樣做。基本都喜歡把所有內容都寫在build.xml中
MAVEN的缺點:
比較精簡,但是無法定制化。在MAVEN中,想要定制,必須得寫個plugin 或者做些hack, 無法像ANT那樣靈活。可以說走了與ANT相反的極端。
ANT和MAVEN共同的缺點:
都很複雜。XML 在2000年還是很炫酷的,但是到了現在就是喳喳。。。寫起來麻煩。
Gradle 把兩者的優點結合到了一起。
比ant 語法經驗, 比MAVEN靈活。可以自由定制。
檔案架構
【認識 Gradle】(3)Gradle 起手式 by qrtt1 | CodeData
範例一 java project
1 | /* 引用 java plugin 獲得編譯 java 專案相關的 task $ */ |
範例二 android project
1 | /* 引用 java plugin 獲得編譯 android 專案相關的 task */ |
參考來源
CodeData系列文章
- 【認識 Gradle】(1)講古的時間 Apache Ant | CodeData
- 【認識 Gradle】(2)講古的時間 Apache Maven by qrtt1 | CodeData
- 【認識 Gradle】(3)Gradle 起手式 by qrtt1 | CodeData
- 【認識 Gradle】(4)看懂 Gradle Script by qrtt1 | CodeData
- 【認識 Gradle】(5)Gradle Task 觀念導讀 | CodeData
- 【認識 Gradle】(6)Java 專案與 Build Script 客製化 | CodeData
- 【認識 Gradle】(7)Java 專案相依管理 | CodeData
其他