We just started a new initiative at Gradle around what we call developer-first software definition (or Declarative Gradle for short). See https://blog.gradle.org/declarative-gradle. We are super excited about this project and believe it will make both software developers and build engineers using Gradle happier. We’d love to hear your feedback!
11/10/2023, 2:41 PM
This sounds very promising!
11/11/2023, 12:17 AM
Love the idea! 🔥
11/17/2023, 6:15 AM
Sounds good, more organized, less mixing. A suggestion is, instead of using limited DSL perhaps using .yaml or .json works better, better limitations.
Although my main problem with gradle and agp isn't quite the mix of build logic and definition logic but the documentation of Gradle API and the different plugins.
Unless you are able to find a project in GitHub that does what you want (so you can copy and paste), the official documentation doesn't offer too many complete examples. Code snippets sometimes you don't know where to place them, error messages aren't too descriptive and such.
11/17/2023, 10:24 AM
@Pablichjenkov yaml is not great (euphemism) when it comes to documenting the schema. The GitHub actions yaml is a testimony of how awkward it is to document the types and behaviour of the different fields (see this thread for an example). The Kotlin tooling is light years ahead (inline KDoc, deprecation, opt-in and more)
11/17/2023, 10:27 AM
Well it was the first that came to my mind other than ol' XML 🤮
I mean I have no problem with gradle kotlin DSL.