Build를 도와주는 도구
Build는 컴파일 작업 뿐 아니라 테스팅, 검사, 라이브러리 버전 동기화, 배포 등 코드를 실행하기 전의 일련의 과정을 의미한다.
소스코드를 실행가능한 프로그램으로 만드는 과정(빌드)을 자동으로 수행해주는 도구
Apache에서 개발한 소프트웨어 프로젝트 관리도구
POM(Project Object Model) 개념에 기반하여 프로젝트를 관리
특정 파일 (pom.xml) 로 부터 프로젝트 정보를 읽고 빌드
Maven의 POM 개념을 차용하긴 했으나, 유연함과 성능에 더욱 초점을 둔 빌드 도구
성능상의 이점 때문에, 최근에는 Gradle을 많이 쓰는 추세
Gradle 또한, Maven의 pom.xml과 같이 파일로써 프로젝트의 정보를 관리
Gradle 파일을 작성할 때 Groovy라는 객체 지향 언어를 사용함
build.gradle 에 빌드 스크립트를 작성Java와 언어가 비슷함
빌드 성능이 매우 좋음 (속도가 빠르다)
런타임에 오류를 알 수 있음 (실행을 해야 오류를 알 수 있음)
Gradle 파일을 작성할 때 Kotlin을 사용함
build.gradle.kts 에 빌드 스트립트를 작성IDE를 통한 자동완성이 가능
빌드 성능은 Groovy 보다 느림
컴파일 타임에 오류를 알 수 있음 (빌드 실행 전에 오류를 알 수 있음)
DSL은 Domain Specific Language의 약자로, 특정 분야(빌드 스크립트 작성)를 위한 언어를 의미한다.