|
|||
Hans Dockter, Adam Murdoch, Szczepan Faber, Peter Niederwieser, Luke Daley, Rene Gröschke, Daz DeBoer, Steve Appling |
|||
Initial release |
July 19, 2000 (19 years ago) |
July 13, 2004 (15 years ago) |
2007 (12 years ago) |
version : 1.10.5 July 13, 2018 (11months ago) |
version : 3.6.1 April 4, 2019 (48days ago) |
version : 5.4.1 April 26, 2019 (1month ago) |
|
Written in |
|||
Website |
Pros And Cons
|
|||
Why |
The first among "modern" build tools |
To improve upon some of the problems developers were facing when using Ant |
Gradle has flexibility with Maven's life-cycle and Ant's power and ease of use. |
Pros |
● Control of the build process - Later on, as dependency management over the network became a must, Ant adopted Apache Ivy. |
● Life-cycle - As long as the project is based on certain standards, with Maven one can pass through the whole life cycle with relative ease. This comes at a cost of flexibility. |
● Had its own DSL based on Groovy. - Gradle build scripts tend to be much shorter and clearer than those written for Ant or Maven. ● Incremental compilations for Java classes ● Compile avoidance for Java ● The use of APIs for incremental subtasks ● A compiler daemon that also makes compiling a lot faster ● The use of substitution rules for compatible libraries ● The use of ReplacedBy rules ● Better metadata resolution ● The ability to dynamically replace project dependencies with external ones, and vice versa |
Cons |
● XML as the format to write build scripts - It's not a good fit for procedural programming approach - It tends to become unmanageably big when used with all but projects |
● Maven has its own problems. - Dependencies management does not handle conflicts well between different versions of the same library (something Ivy is much better at) - XML as the build configuration format is strictly structured and highly standardized. - Customization of targets (goals) is hard. : Since Maven is focused mostly on dependency management, complex, customized build scripts are actually harder to write in Maven than in Ant. ● Configuration of XML continuous being big and cumbersome. - On bigger projects it can have hundreds of lines of code without actually doing anything "extraordinary". |
● Gradle is virtually a newcomer, the number of developers who know Gradle inside-out might be limited. |
Gradle vs Maven: Performance Comparison
● Scenario: Java Library
: Gradle is 1.7x faster for running tests, and up to 30x faster building when the build cache is used.
● Scenario: small multi-project build
: Gradle is 2-3x faster for clean builds, about 7x faster for incremental changes, and up to 14x faster when Gradle task outputs are cached.
● Scenario: medium multi-project build
: Gradle is 4-5x faster for clean builds, about 40x faster for incremental changes, and up to 13x faster when Gradle task outputs are cached.
● Scenario: large multi-project build
: Gradle is 3-10x faster for clean builds, about 85x faster for incremental changes, and up to 12x faster when Gradle task outputs are cached.
● Scenario: large monolithic application
: Gradle is 2-3x faster for clean builds, about 7x faster for incremental changes, and up to 3x faster when Gradle task outputs are cached.
refer to Link)
● Java Build Tools: Ant vs Maven vs Gradle
https://technologyconversations.com/2014/06/18/build-tools/
● Gradle | Gradle vs Maven Comparison
https://gradle.org/maven-vs-gradle/
● Ant vs Maven vs Gradle | Baeldung
https://www.baeldung.com/ant-maven-gradle
● Gradle vs. Maven - Dzone Java
https://dzone.com/articles/gradle-vs-maven
● Gradle vs Maven: Performance Comparison
https://gradle.org/gradle-vs-maven-performance/
● Maven vs Gradle
https://bkim.tistory.com/13
● [프로그래밍 지식] 빌드 도구 : Ant, Maven, Gradle 이 뭘까?
https://jj-one-a-week.blogspot.com/2017/05/ant-maven-gradle.html
● Maven과 Gradle의 차이점
https://seonhyungjo.github.io/Maven-VS-Gradle/
● [Build Tool] ANT / MAVEN / GRADLE 비교
https://blog.naver.com/jeeyun617/220612514231
● Maven을 넘어 Gradle로 가자
http://egloos.zum.com/kwon37xi/v/4747016
● [Spring]Maven vs Gradle
https://blog.naver.com/khaicoding/221447511756
● gradle:from_maven [권남]
http://kwonnam.pe.kr/wiki/gradle/from_maven
● 10 reasons why we chose Maven over Gradle
https://www.softwareyoga.com/10-reasons-why-we-chose-maven-over-gradle/
● Why I Moved Back from Gradle to Maven
https://phauer.com/2018/moving-back-from-gradle-to-maven/
● [금융IT] Build 도구 Ant, Maven, 그리고 Gradle이란 무엇인가?
https://daitso.kbhub.co.kr/51428/
● 양파지기 - Ant, Maven, Gradle
https://www.slideshare.net/yonggeunKwon/ant-maven-gradle
'Theory > Build Tool' 카테고리의 다른 글
Gradle (0) | 2019.05.02 |
---|---|
Maven (0) | 2019.05.01 |
Ant (0) | 2019.04.30 |