μ½νλ¦°
μ λ μ½νλ¦°μ΄ μλλ‘μ΄λ κ°λ°μ μν μΈμ΄λΌκ³ μκ°νκΈ°λ§ νμ΅λλ€λ§, μ€νλ§ νλ μμν¬ 5 μ΄μλΆν° μ½νλ¦°μ λν μ§μμ μμνκ³ JVM μ§μμ λΉλ μμ€ν μΈ Gradle μμλ μ½νλ¦° μΈμ΄λ₯Ό κΈ°λ³Έμ μΌλ‘ μ±ννκ³ μμ΅λλ€. μκ°λ³΄λ€ λ§μ μ±μ© κ³΅κ³ μμλ μ½νλ¦° κ²½νμλ₯Ό μ°λνλ κ²μ νμΈν μ μμμ΅λλ€.
Gradle Kotlin DSL
Gradleμ κΈ°λ³Έ μΈμ΄λ Kotlin DSLλ‘ λ³κ²½λμμ΅λλ€. μ½νλ¦° κΈ°λ° μ€νλ§μ μ¬μ©νμ§ μλλΌλ μλ° κΈ°λ° νλ‘μ νΈμ Gradleμμ μ½νλ¦°μΌλ‘ λΉλ μ€ν¬λ¦½νΈλ₯Ό μμ±ν μ μμ΅λλ€. Spring Initializrμμ νλ‘μ νΈ μμ± μ Gradle DSLλ‘ μ½νλ¦°μ μ ννλ©΄ settings.gradle.kts μ build.gradle.kts νμΌμ΄ ν¬ν¨λ©λλ€.
μΈν 리μ μ΄ - K2 λͺ¨λ
IntelliJ IDEA 2024.2 μ΄μμ μ¬μ©μ€μ΄λΌλ©΄ K2 λͺ¨λλ₯Ό νμ±ννμΈμ. νλ‘μ νΈμ Kotlin μ»΄νμΌλ¬ λ²μ κ³Ό μκ΄μμ΄ μ‘°κΈ λ κ°μ λ μ½λ κ°μ‘°, μ½λ μμ± λ±μ μ 곡νλ€κ³ ν©λλ€. μ½νλ¦°μ μΉμΌλ‘ νμ΅νκΈ° μν Kotlin Playgound λ K2 μ»΄νμΌλ¬λ‘ λμν©λλ€.
νμΌ - μ€μ - μΈμ΄ λ° νλ μμν¬ - Kotlin - K2 λͺ¨λ νμ±ν
kapt λμ μ KSP μ¬μ©νκΈ°
μ½νλ¦°μ Gradle best practicesμμ μ΄λ Έν μ΄μ μ²λ¦¬λ₯Ό μν΄ μ μ§λ³΄μ λͺ¨λμΈ kapt λμ μ Kotlin Symbol Processing APIλ‘ λ§μ΄κ·Έλ μ΄μ μ μΆμ²ν©λλ€. λ¨, μ€νλ§ νλ‘μ νΈμμ QueryDSLμ μ¬μ©νκ³ μλ€λ©΄ Querydslμμ Kotlin JDSL μΌλ‘μ κ°μ΄ λΌμΈμμ κ°λ°ν μ€νμμ€μΈ Kotlin JDSLλ‘μ μ νμ κ³ λ €ν΄μΌν μ μμ΅λλ€.
plugins {
id("com.google.devtools.ksp") version "2.1.0-1.0.29"
}