在一个多模块Gradle项目中,您可能会有许多模块。每个模块可以将其他模块作为依赖项。
dependencies {
implementation(project(":feature:feature-payment"))
implementation(project(":lib:crypto"))
implementation(project(":android-lib:navigation"))
}
如果您有100个模块,您将如何记住模块名称?
当然,您可以像上面的代码段一样手动键入模块名称。
但是,是否有一种更安全,更快的方法来访问该项目?
是的,有!
通过使用Gradle的TYPESAFE_PROJECT_ACCESSORS
,我们可以以类型的方式访问项目中的项目。
如果您的项目存在,IDE将给出自动完成。
如果您的项目不存在,IDE会给您带来错误。
设置
- 确保您使用的是Gradle 7.0或更高
- 在您的root project
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将模块用烤肉串或Snake_case转换为骆驼。从feature-payment
到featurePayment
。
概括
通过使用TypeAfe项目登录器,您可以以类型的方式访问项目中的模块。目前,Gradle仍然将此功能标记为实验。但是您可以通过在build.gradle
文件中启用TYPESAFE_PROJECT_ACCESSORS
来在项目中使用它。
参考: