build.gradle.kts는 Gradle 빌드 스크립트를 Kotlin DSL로 작성할 수 있게 해주며, 타입 안정성과 IDE 지원 등 다양한 장점을 제공합니다. Kotlin 기반의 빌드 스크립트로 전환하면 생산성과 가독성이 크게 향상됩니다.

build.gradle.kts란?

build.gradle.kts는 Gradle에서 Kotlin DSL을 사용하여 빌드 스크립트를 작성하는 파일입니다. 기존 Groovy 기반의 스크립트보다 정적 타입 언어의 장점을 살릴 수 있어, 코드 자동완성, 타입 체크, IDE 지원이 뛰어납니다.

기본 구조와 작성 예시

plugins {
    kotlin("jvm") version "1.8.0"
    application
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0")
}

repositories {
    mavenCentral()
}

application {
    mainClass.set("com.example.MainKt")
}

주요 문법 및 사용법

  • 플러그인 적용
    • plugins 블록에서 사용할 플러그인과 버전을 명시합니다.
  • 의존성 추가
    • dependencies 블록에서 implementation, testImplementation 등 다양한 스코프에 라이브러리를 추가합니다.
  • 저장소 설정
    • repositories 블록에서 mavenCentral(), google() 등 저장소를 지정합니다.
  • 애플리케이션 진입점 지정
    • application 블록에서 mainClass를 지정합니다.

자주 사용하는 패턴

  • 프로젝트 속성 사용
    val myProperty: String by project
    println(myProperty)
    
  • Task 등록 및 활용
    tasks.register("hello") {
        doLast {
            println("Hello, Gradle!")
        }
    }
    
  • 환경변수 활용
    val env = System.getenv("ENV")
    println(env)
    

build.gradle.kts의 장점

  • 정적 타입 지원으로 오타 방지 및 IDE 자동완성
  • Kotlin 문법 사용으로 코드 가독성 및 유지보수성 향상
  • 코드 재사용 및 확장성 용이
  • 공식 문서 및 커뮤니티 자료가 풍부함

마이그레이션 시 주의사항

  • Groovy와 Kotlin DSL 문법 차이로 인해 변환 시 공식 문서 참고 필요
  • 일부 플러그인은 Kotlin DSL 지원이 미흡할 수 있음
  • 빌드 스크립트의 타입 오류는 컴파일 타임에 발견 가능

참고자료

build.gradle.kts를 도입하면 빌드 스크립트의 가독성과 생산성을 높일 수 있습니다. Kotlin DSL의 장점을 적극 활용해보세요.