This doesn’t want to be a real article, but more a crash course about Kotlin DSL for Gradle.
The crucial point is the possibility of migrating an existing project to the new Kotlin DSL for Gradle, in an incremental, modularized fashion.
Below we have a pretty standard root project build.gradle
file:
The parts that I want to highlight are those shared version numbers, i.e. rxJavaVersion
, timberVersion
and so on.
This is a standard build.gradle
file for an Android Library Module:
As you can see, we reference those constants.
If you want to migrate this file to the new Kotlin DSL, you need to create a build.gradle.kts
file in place of your build.gradle
one and make it look like this:
Notice how we can access those constants in a different way, but still pretty straightforward.
You will also notice that the dependencies are not the same in the two files, some versions are hardcoded, other are referencing the global constants.
It’s messy on purpose: this is an working example from one of my projects and I want to show a few of different choices you can have in those files. It’s up to you.
If you want a better overview about Kotlin DSL for Gradle, I would suggest the good article by Antonio Leiva https://antonioleiva.com/kotlin-dsl-gradle/.
Thank you all for the feedbacks and the support!
Happy Kotlin ❤️
0 responses to “Kotlin DSL Gradle files, multiple modules and shared variables”