“implementation deps.support.app_compat”中的“deps”是什么?

问题描述:

我一直在寻找到谷歌样品的新的架构组件,在那里我发现下面的代码:“implementation deps.support.app_compat”中的“deps”是什么?

dependencies { 
    // Support libraries 
    implementation deps.support.app_compat 
    implementation deps.support.v4 
    implementation deps.support.design 
    implementation deps.support.cardview 

    // Architecture components 
    implementation deps.lifecycle.runtime 
    implementation deps.lifecycle.extensions 
    annotationProcessor deps.lifecycle.compiler 
    implementation deps.room.runtime 
    annotationProcessor deps.room.compiler 

    // Android Testing Support Library's runner and rules 
    androidTestImplementation deps.atsl.runner 
    androidTestImplementation deps.atsl.rules 
    androidTestImplementation deps.room.testing 
    androidTestImplementation deps.arch_core.testing 

    // Espresso UI Testing 
    androidTestImplementation deps.espresso.core 
    androidTestImplementation deps.espresso.contrib 
    androidTestImplementation deps.espresso.intents 

    // Resolve conflicts between main and test APK: 
    androidTestImplementation deps.support.annotations 
    androidTestImplementation deps.support.v4 
    androidTestImplementation deps.support.app_compat 
    androidTestImplementation deps.support.design 
} 

我无法理解为什么他们写开始deps.*所有的依赖。任何人都可以帮助我理解代码。提前致谢。 以下是回购的link

+0

它们在根目录下的'versions.gradle'文件中被声明为'deps' – Jovin

deps是被设置在project实例,并在versions.gradle文件中定义的类Map的一个实例。这versions.gradle文件依次是appliedbuild.gradle脚本,因此可以在子项目中使用deps

添加到@Opal建议。

DEPS是在项目中定义的占位符level.You可以here

发现它地说Dagger2,所述DEPS被定义为在versions.gradle文件,该文件是一个步骤的模块级以上如下。

*def dagger = [:] 
dagger.runtime = "com.google.dagger:dagger:$versions.dagger" 
dagger.android = "com.google.dagger:dagger-android:$versions.dagger" 
..... 

deps.dagger = dagger* 

Image if code not well formatted

这样,它有助于其应用到项目中的所有模块的版本相同。 只有需要特定依赖项的模块才可以在它们的build.gradle定义中声明它。