Reputation: 531
I want to set the version of my dependencies in just one place in my Gradle (app/build.gradle) configuration file , to became easier to change in case of a update.
the problem is:
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'
}
Can you see that, i'm repiting the same version many times and this make slow and unprodutive to change all version to the next version.
Like in Maven i could just do like this:
<properties>
<org.springframework.version>5.0.8.RELEASE</org.springframework.version>
</properties>
After set the version, I just add like this:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</dependency>
</dependencies>
The last piece of Maven configuration did set the version in this parte:
${org.springframework.version}
How can I do the same in my gradle configuration?
Upvotes: 2
Views: 2698
Reputation: 76669
the assumption, that they'd all would have the same version is categorically wrong ...
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}"
}
one can also set project.ext
properties with version numbers - or load them from external files.
ext {
glideVersion = "4.5.0"
...
}
and then use it with ${rootProject.ext.glideVersion}
or ${project.ext.glideVersion}
.
in general, it's not easier to change... just another way of organizing it.
Upvotes: 4