2017-11-11 173 views
4

我一直在尋找到谷歌樣品的新的架構組件,在那裏我發現下面的代碼:「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

回答

5

deps是被設置在project實例,並在versions.gradle文件中定義的類Map的一個實例。這versions.gradle文件依次是appliedbuild.gradle腳本,因此可以在子項目中使用deps

0

添加到@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定義中聲明它。