# First look at Declarative Gradle

DevFeed: [First look at Declarative Gradle](<https://devfeed.tech/articles/first-look-at-declarative-gradle-24607.md>)

Original publisher: [Read original article](<https://blog.gradle.org/declarative-gradle-first-eap>)

Author: Sterling Greene

Published: 2024-07-24T04: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>), [configuration](<https://devfeed.tech/topics/configuration.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [beginners](<https://devfeed.tech/tags/beginners.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [community](<https://devfeed.tech/tags/community.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [developer-tooling](<https://devfeed.tech/tags/developer-tooling.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [eap](<https://devfeed.tech/tags/eap.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [preview](<https://devfeed.tech/tags/preview.md>)

## AI overview

This article introduces the first early access preview of Declarative Gradle, an experimental project aimed at providing a clearer, developer-first declarative build language for Gradle. It describes the Declarative Configuration Language, its relationship to Kotlin syntax, the .gradle.dcl file format, and the restrictions that exclude imperative constructs such as loops, conditionals, and functions. The preview is intended for feedback and is not ready for production use.

## Source excerpt

Introduction In our update in November 2023, we announced a new experimental project called Declarative Gradle. That post introduced our ideas for a developer-first software definition and how we planned to fulfill our vision for a declarative build language for Gradle. Since then, we've been working hard to create the first early access preview (EAP) of Declarative Gradle. This blog post provides an update on the project's progress and outlines how you can try it out, provide feedback, and influence our next steps. What is Declarative Gradle? Part of our vision for Gradle Build Tool is to deliver an elegant and extensible declarative build language that allows developers to describe any kind of software in a clear and understandable way. Gradle's build language is already extensible in the most fundamental ways, which results in a high degree of flexibility, but it's not always fully declarative, clear, and understandable. We believe that Declarative Gradle will offer a fundamental advancement in the Gradle user experience for software developers thanks to a developer-first software definition, a declarative DSL, and improvements in developer tooling made possible by these. Note that Declarative Gradle is still in an experimental stage and is not ready for production use. We are providing an early access preview to gather initial feedback from the community. Declarative Configuration Language Gradle's existing Kotlin and Groovy DSLs give users access to a full programming language and ecosystem. This makes build scripts very powerful, but it can also make it harder for beginners to understand them and for vendors to provide tooling on top of Gradle. With Declarative Gradle, we're introducing a new configuration language. In addition to .gradle and .gradle.kts build files, Gradle will also recognize .gradle.dcl, where DCL stands for "Declarative Configuration Language". This language falls into the family of declarative configuration languages, meaning it is non-pro