Hi Sean,
Thank you for your support, I'm glad someone appreciates our
FrankenGradle ;)
Gradle is difficult to upgrade in Debian for a variety of reasons. For
one thing it's a huge monolith and thus it's a bit all or nothing, if
one part is missing your are stuck. Maven in comparison is highly
modular and can be upgraded piece by piece. The major pain point
currently is the Kotlin DSL, I wish the core of Gradle would have
remained pure Java/Groovy. And then there is the non-free stuff like the
Gradle enterprise plugin that gets in the way.
Addressing these issues in Gradle isn't a trivial task, and I doubt the
bootstrappability is compelling enough to motivate the Gradle developers
to work on it.
If this is important for bitcoinj I would suggest switching to another
build tool, either Maven if you have a fairly standard project
structure, or Ant if you need the flexibility of an imperative build
system (and Ant is by far the easiest to bootstrap).
Emmanuel Bourg
Le 25/09/2023 à 22:17, Sean Gilligan a écrit :
Hi Everyone,
I appreciate the efforts of the Debian Java team and know that your job
is not easy.
I work on bitcoinj (Java) and we are (for better or worse) using Gradle
for our builds. We are stuck supporting Gradle 4.4.x, when the latest
version of Gradle 8.3 (or 8.4) is required to support JDK 21 (if you're
not using the Debian-patched Gradle, of course.)
I had thought there was already an issue for this on the Gradle GitHub
project, but today I couldn't find anything. So I created a new one:
https://github.com/gradle/gradle/issues/26516
I thought I would share that with you for reference purposes. Or maybe
someone might want to comment on the issue, especially if anyone from
Gradle responds or asks questions.
I'm hoping that priorities at Gradle may be changing now that
supply-chain security has become a more visible issue in the industry.
(Yes, I'll admit to being an optimist.)
Anyway, thanks for your efforts. We do appreciate them.
Regards,
Sean
p.s. If you're interested in how we are dealing with this at bitcoinj, I
created an issue there as well:
https://github.com/bitcoinj/bitcoinj/issues/3287