다중 모듈 Gradle 프로젝트에서 프로젝트에 액세스하는 방법은 무엇입니까?

다중 모듈 Gradle 프로젝트에서 프로젝트에 액세스하는 방법은 무엇입니까?

2022-10-09 last update

6 minutes reading android java modularization gradle
다중 모듈 Gradle 프로젝트에서는 .. 많은 모듈을 가질 수 있습니다. 각 모듈은 다른 모듈을 종속성으로 가질 수 있습니다.

dependencies {
    implementation(project(":feature:feature-payment"))
    implementation(project(":lib:crypto"))
    implementation(project(":android-lib:navigation"))  
}


100개의 모듈이 있는 경우 모듈 이름을 어떻게 기억할 수 있습니까?



물론 위의 코드 조각과 같이 모듈 이름을 수동으로 입력할 수 있습니다.
그러나 프로젝트에 액세스하는 더 안전하고 빠른 방법이 있습니까?
예, 있습니다!

Gradle의 TYPESAFE_PROJECT_ACCESSORS 를 사용하여 우리 프로젝트의 프로젝트에 typesafe 방식으로 액세스할 수 있습니다.

프로젝트가 존재하는 경우 IDE에서 자동 완성을 제공합니다.



프로젝트가 존재하지 않으면 IDE에서 오류를 표시합니다.

설정


  • Gradle 7.0 이상을 사용하고 있는지 확인하십시오.
  • 루트 프로젝트build.gradle 파일에 다음 코드 줄을 추가합니다.

  • enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
    

    결과


    build.gradle 또는 build.gradle.kts 를 엽니다. 위의 종속성은 다음과 같습니다.

    dependencies {
        implementation(projects.feature.featurePayment)
        implementation(projects.lib.crypto)
        implementation(projects.androidLib.navigation)  
    }
    


    Gradle은 kebab-case 또는 snake_case가 있는 모듈을 camelCase로 변환합니다. feature-payment에서 featurePayment까지 .

    요약



    유형 안전 프로젝트 접근자를 사용하여 유형 안전 방식으로 프로젝트의 모듈에 액세스할 수 있습니다. 현재 Gradle은 이 기능을 실험용으로 표시합니다. 그러나 TYPESAFE_PROJECT_ACCESSORS 파일에서 build.gradle를 활성화하여 프로젝트에서 사용할 수 있습니다.

    참조:
  • Type-safe project accessors