Как установить версию зависимости от Gradle? - PullRequest
0 голосов
/ 26 октября 2018

Я хочу установить версию моих зависимостей только в одном месте в моем конфигурационном файле Gradle (app / build.gradle) , чтобы его было легче изменить в случае обновить.

проблема:

dependencies {
implementation 'com.google.android.gms:play-services-maps:12.0.0'
implementation 'com.google.android.gms:play-services-auth:12.0.0'
implementation 'com.google.firebase:firebase-core:12.0.0'
implementation 'com.google.firebase:firebase-auth:12.0.0'
implementation 'com.google.firebase:firebase-database:12.0.0'
implementation 'com.google.firebase:firebase-storage:12.0.0'
implementation 'com.google.firebase:firebase-messaging:12.0.0'
implementation 'com.google.android.gms:play-services-ads:12.0.0'
implementation 'com.github.bumptech.glide:glide:4.5.0'
}

Видите ли, я повторяю одну и ту же версию много раз, и это делает медленным и непродуктивным перевод всей версии на следующую.

Как и в Maven, я мог бы просто так:

<properties>
    <org.springframework.version>5.0.8.RELEASE</org.springframework.version>
</properties>

После установки версии я просто добавляю вот так:

<dependencies>
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
</dependencies>

Последний фрагмент конфигурации Maven установил версию в этом разделе:

$ {org.springframework.version}

Как я могу сделать то же самое в моей конфигурации Gradle?

1 Ответ

0 голосов
/ 26 октября 2018

предположение, что все они имели бы одну и ту же версию, категорически неверно ...

def glideVersion = "4.5.0"

dependencies {

    implementation "com.google.android.gms:play-services-base:16.0.1"
    implementation "com.google.android.gms:play-services-auth:16.0.1"

    implementation "com.google.android.gms:play-services-maps:16.0.0"
    implementation "com.google.android.gms:play-services-ads:16.0.0"

    implementation "com.google.firebase:firebase-core:16.0.4"
    implementation "com.google.firebase:firebase-auth:16.0.4"

    implementation "com.google.firebase:firebase-database:16.0.3"
    implementation "com.google.firebase:firebase-storage:16.0.3"

    implementation "com.google.firebase:firebase-messaging:17.3.4"

    implementation "com.github.bumptech.glide:glide:${glideVersion}"
}

можно также установить project.ext свойства с номерами версий - или загрузить их из внешних файлов.

ext {
    glideVersion = "4.5.0"
    ...
}

, а затем используйте его с ${rootProject.ext.glideVersion} или ${project.ext.glideVersion}.

В общем, изменить не так просто ... просто еще один способ организовать это.

...