Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

모바일 앱(안드로이드)

Gradle buildSrc에서 KSP(코틀린 심볼 프로세싱) 플러그인 사용하기 예제

Billcorea 2025. 5. 16. 15:37
반응형

Gradle buildSrc에서 KSP(코틀린 심볼 프로세싱) 플러그인 사용하기 예제

언제나 개발해 보기

 

Gradle 프로젝트를 설정할 때, buildSrc 디렉토리에서 id("com.google.devtools.ksp") 플러그인을 찾을 수 없다는 오류가 발생하는 경우가 있습니다. 이는 Gradle의 빌드 스크립트 컨텍스트와 플러그인 정의 위치 사이의 차이로 인해 발생합니다.

이번 글에서는 이 문제를 해결하는 방법에 대해 단계별로 알아보겠습니다.


1. buildSrc 프로젝트의 build.gradle.kts 수정

buildSrc는 Gradle의 독립적인 빌드 환경으로 동작하기 때문에, 사용하려는 플러그인을 명시적으로 추가해야 합니다. buildSrc/build.gradle.kts 파일을 열고 다음을 추가하세요:

plugins {
    `kotlin-dsl` // Gradle Kotlin DSL 플러그인
}

repositories {
    gradlePluginPortal()
    mavenCentral()
}

dependencies {
    implementation("com.google.devtools.ksp:symbol-processing-gradle-plugin:<KSP_VERSION>")
}

<KSP_VERSION> 부분을 사용하려는 KSP 플러그인의 정확한 버전으로 교체하세요. 예를 들어, 최신 버전이 1.9.0-1.0.13이라면 다음과 같이 작성합니다:

implementation("com.google.devtools.ksp:symbol-processing-gradle-plugin:1.9.0-1.0.13")

2. buildSrc 내에서 플러그인 적용

buildSrc 내부에서는 id("com.google.devtools.ksp")를 바로 사용할 수 없을 수 있습니다. 이 경우, 다음과 같이 apply 메소드를 사용하여 플러그인을 적용할 수 있습니다:

apply(plugin = "com.google.devtools.ksp")

3. 루트 프로젝트의 settings.gradle.kts 수정

루트 프로젝트의 settings.gradle.kts 파일에서 pluginManagement 블록을 추가하여 플러그인 저장소를 명시적으로 설정합니다:

pluginManagement {
    repositories {
        gradlePluginPortal()
        mavenCentral()
    }
}

4. KSP 플러그인 최신 버전 확인

KSP 플러그인의 최신 버전을 사용하려면, Maven Central의 KSP 페이지 또는 Gradle의 플러그인 포털을 참고하세요.


5. Gradle 캐시 정리 및 동기화

Gradle 캐시가 손상되었거나 플러그인이 올바르게 로드되지 않을 수 있습니다. 다음 명령어를 실행하여 캐시를 정리하고 프로젝트를 동기화하세요:

./gradlew --stop
./gradlew clean
./gradlew build --refresh-dependencies

마무리

위 단계를 따르면 buildSrc 디렉토리에서도 com.google.devtools.ksp 플러그인을 정상적으로 사용할 수 있습니다. 문제가 계속 발생한다면, module.kotlin.gradle.kts 파일이나 관련 Gradle 설정 파일의 내용을 검토하여 추가적인 설정이 필요한지 확인하세요.

이 글이 Gradle 프로젝트 설정에 도움이 되길 바랍니다. 질문이나 피드백이 있다면 댓글로 남겨주세요!

반응형