Slackbot
11/09/2023, 3:26 PMmelix
11/09/2023, 3:26 PMmelix
11/09/2023, 3:27 PMmelix
11/09/2023, 3:27 PMChris
11/09/2023, 3:48 PMSebastian Schuberth
11/09/2023, 3:54 PMmelix
11/09/2023, 3:55 PMSebastian Schuberth
11/09/2023, 3:55 PMmelix
11/09/2023, 3:55 PMmelix
11/09/2023, 3:55 PMChris
11/09/2023, 3:56 PMPiotr Jagielski
melix
11/09/2023, 4:54 PMRyan Schmitt
11/09/2023, 5:51 PMrelevant whitespaces are evilYAML has much more serious issues, such as a completely batty type system/nonsensical type coercions, no effective standardization, a track record of security vulnerabilities, lack of truncation detection and so on
Ryan Schmitt
11/09/2023, 5:55 PMWhile the decision on this markup language is not final, we do want to take a declarative approach. We believe that this not only allows for a more simplified configuration that is less error-prone, but it also helps us in terms of providing better tooling. [emphasis mine]It's not surprising that this came out of JetBrains. We have these kinds of conversations all the time internally: I can't parse Gradle build scripts myself, and asking Gradle to do it for me is unreliable at scale (because it entails running arbitrary code which may misbehave). Now what?
Ryan Schmitt
11/09/2023, 5:55 PMRyan Schmitt
11/09/2023, 6:04 PMRyan Schmitt
11/09/2023, 6:04 PMSebastian Schuberth
11/09/2023, 6:05 PMephemient
11/10/2023, 3:41 AMRyan Schmitt
11/10/2023, 5:24 AMdaniel
11/10/2023, 6:37 AMmelix
11/10/2023, 8:18 AMversion: 1.10
, you will have some surprises. However, I do agree that having something which is more friendly to IDEs and analysis tools is required. This is a strong obstacle to Gradle adoption today. If I were to rewrite Gradle from scratch, I would probably change things so that the so called "build scripts" are actually a limited DSL like Daniel said, which is easier achieved by using something like yaml (meh!) or TOML, or Dhall. Then everything like task implementation, task registration, etc would have to go into plugins. However everytime I thought about where one should stop, it is not that clear. So I'm curious what the Gradle team is working on. If it addresses the 80% use case, we're in good land.ephemient
11/10/2023, 8:41 AMdaniel
11/10/2023, 9:36 AMmelix
11/10/2023, 9:38 AMdaniel
11/10/2023, 9:48 AMmelix
11/10/2023, 9:55 AMUse Micronaut 4.1.1
Add support for building with GraalVM
Add functional tests so that I can check the behavior of my application on Java 17 and Java 21
Make sure that I cannot release if there's a binary breaking change
melix
11/10/2023, 9:56 AMAlex Semin
11/10/2023, 10:03 AMmelix
11/10/2023, 10:04 AMephemient
11/10/2023, 10:06 AMPiotr Jagielski
melix
11/10/2023, 10:13 AMmelix
11/10/2023, 10:14 AMPiotr Jagielski
Piotr Jagielski
Łukasz Wasylkowski
11/10/2023, 10:58 AMAt the same time, JetBrains is running an experiment with similar goals called Amper. One of our objectives is to leverage this experiment to benefit the development of Declarative Gradle and provide a great user experience for Kotlin and Kotlin Multiplatform. Therefore, in addition to the dedicated group focused on Declarative Gradle, we are working closely with the Amper team at JetBrains.which suggests that the two initiatives are largely parallel, but will influence each other? Is the goal to converge at one solution at some point?
Piotr Jagielski
Łukasz Wasylkowski
11/10/2023, 11:03 AMPiotr Jagielski
Łukasz Wasylkowski
11/10/2023, 11:13 AMrestricted DSL that separates the software definition and build logic so that the build language is fully declarativeand Amper
provides a configuration layer on top of Gradle and is implemented as a Gradle plugin.So from an end user perspective, both work to the effect of being a simpler, declarative layer on top of Gradle. And it doesn't seem like it makes sense to use both at the same time, that's why I mentioned it looks like competition 🙂
Giuseppe Barbieri
11/10/2023, 11:30 AMArtem Khvastunov
11/10/2023, 11:54 AMIs the Amper demo closed source?@Ryan Schmitt Yes, for now. We plan to make sources available soon.
Piotr Jagielski
any rough ETA for the declarative Gradle?
David Ankin
11/10/2023, 1:07 PMPiotr Jagielski
John
11/10/2023, 2:46 PMRyan Schmitt
11/10/2023, 5:24 PMRyan Schmitt
11/10/2023, 5:25 PMplugins {}
block)ephemient
11/10/2023, 5:50 PMAdam
11/10/2023, 9:14 PMKetolang is a dialect of Kotlin without side-effects, it allows only immutable data and pure functions.
Ketolang aims to cover use-cases of Starlark language but in compile-time, type-safe environment of Kotlin, with benefit of running in a more performant environment than an interpreter (JVM, Native and maybe JS).
Paul Merlin
11/11/2023, 2:47 PMBen Madore
11/29/2023, 3:07 PMdaniel
11/29/2023, 3:57 PMRyan Schmitt
11/29/2023, 4:35 PMdaniel
11/29/2023, 4:36 PM