Gradle은 빌드 도구 중의 하나이다. 빌드 도구란 소프트웨어 개발에 있어 소스 코드를 실행 가능한 어플리케이션으로 만들어주는 도구이다. 빌드 과정을 자동화하여 관리하는 기능을 하기 때문에 Build Management Tool 또는 Build Automation Tool이라고도 한다.
빌드 도구의 특징은 개발자가 스크립트를 작성하여 다양한 작업을 수행할 수 있게 한다. 예를 들어 소스 코드를 컴파일하거나 패키징할 수 있으며, 테스트를 자동으로 수행하거나 의존성 주입 및 배포 작업을 할 수 있다.
- Compile
- Test : 유닛 테스트 또는 전체 테스트
- Packaging : 스프링 코드를 패키징해 jar 또는 war 파일로 만들어 준다.
- Deploy & Run : 만들어진 스프링을 돌려 서버를 실행해준다.
Gradle
Gradle은 가장 최근에 나온 자바 빌드 도구로 그루비 (Groovy)
문법을 사용한다. Build.gradle에 스크립트를 작성하며, 대규모 프로젝트에서 복잡해지는 경향이 있는 XML 기반 스크립트에 비해 관리가 편하다는 장점이 있다. 그래들은 현재 안드로이드 프로젝트의 표준 빌드 시스템으로 채택되어 있다.
Gradle 장점
- 간격한 스크립트
- 빌드 속도
- Gradle은 caching을 하기 때문에 Ant나 Maven 같은 이전 빌드 도구보다 빌드 속도가 빠르다.
- 멀티 프로젝트 빌드
- 대규모 자바 프로젝트는 대부분 다중 모듈로 구성된다.
- Gradle의 멀티 프로젝트 빌드 기능을 이용하면 번거로움과 실수를 줄일 수 있다.
- 필요에 따라 개별적으로 설정할 수 있어 스크립트의 작성량이 메이븐보다 적다.
- Wrapper
- 초기 프로젝트 세팅 시 Gradle Wrapper 사용을 권장한다.
- 특정 버전의 Java나 Gradle을 설치할 필요없이 바로 프로젝트를 실행할 수 있다.
- 메이븐은 특수한 처리가 필요할 때 독자적인 플러그인으로 구현해야 하지만 gradle은 스크립트를 작성하는 것만으로도 가능하다.