Welcome! The Gradle Kotlin DSL provides support for writing Gradle build scripts using JetBrains' Kotlin language. It aims to provide Gradle users with a rich, flexible and statically-typed approach to developing build logic in conjunction with the best IDE and tooling experience possible.
The fastest way to get up and running with a Kotlin-based Gradle build is to use gradle init
gradle init --dsl kotlin
or, if you don't have Gradle installed already, you can generate Gradle builds online at https://gradle-initializr.cleverapps.io/.
The Gradle Kotlin DSL is documented in a dedicated chapter in the Gradle user manual.
Moreover, the Gradle user manual and guides contain build script excerpts that demonstrate both the Groovy DSL and the Kotlin DSL. This is the best place where to find how to do this and that with the Gradle Kotlin DSL; and it covers all Gradle features from using plugins to customizing the dependency resolution behavior.
There are also some Gradle Kotlin DSL samples in this repository. You'll find complete instructions in the README there.
If you are looking into migrating an existing build to the Gradle Kotlin DSL, please also check out the migration guide.
You can read more about the project in our announcement blog post and check out the frequently asked questions in the project wiki.
Found a bug? Have an idea for an improvement? Feel free to add an issue.
If you're dealing with what you believe to be an issue with Kotlin itself or the Kotlin Plugin for IDEA, you may want to search JetBrains' YouTrack first to see if it is a known issue. In any case, feel free to add an issue here for it as well. We'd like to know and track what our users are experiencing regardless whether the issue is with the Gradle Kotlin DSL or with Kotlin itself.
Come chat with us in the #kotlin-dsl channel of the public Gradle Community Slack instance.
Like the rest of Gradle, the Gradle Kotlin DSL is released under version 2.0 of the Apache License.
Please see CONTRIBUTING.md for details of how to build and contribute to Gradle Kotlin DSL.