Kotlin DSL Gradle files, multiple modules and shared variables
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
The parts that I want to highlight are those shared version numbers, i.e.
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.
Thank you all for the feedbacks and the support!
Happy Kotlin ❤️