Gradle DSL(Domain-Specific Language)이란 Gradle 빌드 스크립트를 작성하기 위해 제공되는 도메인 특화 언어입니다. Gradle은 Groovy DSL과 Kotlin DSL 두 가지 형태를 지원합니다.
기존의 Gradle에서 기본적으로 사용되던 DSL 방식입니다.
.gradle 확장자를 가진 파일에서 사용됩니다.
예제:
plugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web:2.7.5'
}
Groovy 기반으로 작성되며, 유연한 문법을 제공합니다.
Gradle 5.0 이후 공식 지원되었으며, Kotlin 기반의 DSL 방식입니다.
.gradle.kts 확장자를 가진 파일에서 사용됩니다.
예제:
plugins {
id("java")
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web:2.7.5")
}
정적 타입 시스템을 활용하여 IDE 자동 완성(IntelliSense) 지원이 우수합니다.
Kotlin을 사용하여 더 안전하고 유지보수하기 쉬운 빌드 스크립트를 작성할 수 있습니다.
| 특징 | Groovy DSL | Kotlin DSL |
|---|---|---|
| 문법 | 유연한 Groovy 문법 | 정적 타입을 활용한 엄격한 문법 |
| 확장자 | .gradle | .gradle.kts |
| IDE 지원 | 제한적 (자동 완성 기능 부족) | 강력한 자동 완성 및 타입 체크 |
| 가독성 | 익숙한 Gradle 문법 | 명확한 구조 및 안전성 |
| 학습 난이도 | 상대적으로 쉬움 | Kotlin 지식 필요 |
추가로 궁금한 사항이 있으면 언제든 질문해 주세요. 😊