Gradle github
gradle.org
Gradle이란?
- Groovy를 이용한 빌드 자동화 시스템이다.
- 그루비(Groovy)는 자바 문법과 유사하므로 자바 개발자가 쉽게 익힐 수 있는 장점이 있으며, Gradle Wrapper를 이용하면 Gradle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있다.
Gradle의 특징
: Gradle의 경우 Maven과 Ant의 장점을 섞어놓은 듯하다.
- 오픈소스 기반의 build 자동화 시스템으로 Groovy 기반 DSL(Domain-Specific Language)로 작성.
- 빌드 자동화 도구인 Maven에 비해 빌드 시간이 짧고 빠른 성능을 가지고 있다.
- Build-by-convention 을 바탕으로 하여 스크립트 규모가 작고 읽기 쉽다.
- 설정 주입 방식 (Configuration Injection)을 사용해서 프로젝트의 조건을 체크할 수 있어서 프로젝트별로 주입되는 설정을 다르게 할 수 있다.
- 멀티 프로젝트 빌드를 지원하기 위해 설계되었다.
왜 Gradle을 Maven 대신에 사용하면 좋은가?
- Maven은 사용시에 설정 내용이 매우 길어지며 가독성이 떨어진다. 의존관계가 복잡한 프로젝트를 설정하기에 부적절하다.
- Build라는 동적인 요소를 XML로 정의하기에는 어려운 부분이 많다.
- Gradle은 Gradle은 Groovy를 사용하기 때문에, 동적인 빌드는 Groovy 스크립트로 플러그인을 호출하거나 직접 코드를 짜면 된다.
따라서, 유연성과 사용 편의성 그리고 속도 등이 중요한 경우 Gradle을 사용하는 것이 유리하다.