# Kotlin DSL is Now the Default for New Gradle Builds

DevFeed: [Kotlin DSL is Now the Default for New Gradle Builds](<https://devfeed.tech/articles/kotlin-dsl-is-now-the-default-for-new-gradle-builds-24665.md>)

Original publisher: [Read original article](<https://blog.gradle.org/kotlin-dsl-is-now-the-default-for-new-gradle-builds>)

Author: Paul Merlin

Published: 2023-04-13T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Declarative programming](<https://devfeed.tech/topics/declarative-programming.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

## AI overview

This article explains that Kotlin DSL is now the default for new Gradle builds, while Groovy DSL remains supported for existing projects and users who prefer it. It describes Kotlin DSL's static typing, concise syntax, functional programming support, declarative build language, and IDE assistance in IntelliJ IDEA and Android Studio, including auto-completion, documentation access, source navigation, and context-aware refactoring. It also highlights support for version catalogs and improvements to code analysis and auto-completion.

## Source excerpt

Kotlin DSL for Gradle was introduced in version 3.0 of the Gradle Build Tool in August 2016 and released as 1.0 in Gradle 5.0. Since then, it's been growing in popularity and has greatly improved the authoring experience of many Gradle builds. Kotlin DSL is now the default choice for new Gradle builds. This means that when creating a new project with Gradle, including in IntelliJ IDEA (starting with 2023.1) and Android Studio (starting with Giraffe), Kotlin DSL is the default option. Support for Groovy DSL will continue for existing projects or those who prefer to use it. In this post, we will explore the benefits of Kotlin DSL and why it is becoming the recommended option for new Gradle builds. We will also discuss some of the improvements that are planned for the future to make Kotlin DSL even better. About Kotlin DSL Kotlin is a powerful language that offers many features that make it an excellent fit for creating a DSL. Its static type system, concise and expressive syntax, and support for functional programming constructs make it easy to create readable and composable DSLs. Kotlin DSL for Gradle takes advantage of the Kotlin language to enable full IDE assistance for build authoring in IntelliJ IDEA and Android Studio. This includes auto-completion, smart content assist, quick access to documentation, navigation to source, and context-aware refactoring. With Kotlin DSL, you can edit your build logic with the same editing experience you are used to when working with your production and test code. Gradle combines Kotlin language features with its capabilities to provide an elegant and extensible declarative build language that enables expressing any build clearly and understandably. Dynamically added elements of the build model, like project dependencies (when using version catalog) or subproject names in multi-project builds, benefit from static typing and IDE assistance. Gradle plugins extend Kotlin DSL by contributing extensions and tasks made available static