понедельник, 3 августа 2015 г.

Централізація бібліотек підтримки в Gradle

Працюючи з мульти-модульними проектами, часто корисно централізувати залежності, особливо це відноситься до бібліотек підтримки.

Правильним шляхом вважається розділяти білд-файли gradle, записуючи таким чином:



root
  --gradleScript
  ----dependencies.gradle
  --module1
  ----build.gradle
  --build.gradle
В файлі gradleScript/dependecies.gradle:

ext {
    //Версія
    supportLibrary = '22.2.1'

    //Залежності бібліотеки підтримки
    supportDependencies = [
            design           :    "com.android.support:design:${supportLibrary}",
            recyclerView     :    "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :    "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :    "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:    "com.android.support:support-annotations:${supportLibrary}",
    ]
}
В файлі верхнього рівня build.gradle:

// Файл білду верхнього рівня, де ви можете додати загальні опції конфігурації для всіх під-проектів.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

// Завантаження залежностей
apply from: 'gradleScript/dependencies.gradle'
В файлі module1/build.gradle:

// Файл білду модуля

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
Тут можна знайти повний gist.

Подяка Fernando Cejas та його блогові.

Source

Комментариев нет:

Отправить комментарий