Re: gradle reboot
Hi Emmanuel,
On 08/11/2024 00:14, Emmanuel Bourg wrote:
Kotlin and Gradle are tightly coupled, and unless you are ready to
rewrite their build systems with something else and replace the Kotlin
code in Gradle, I don't think it's possible to bootstrap them separately.
I have plans for the build system, a bit like what is done in
libnative-platform-java that I am now working on as the new Gradle
definitely needs an updated version.
Gradle 8.11 is still mostly Java code actually (10 to 1 ratio), and I
haven't looked yet at which features of Kotlin they use that are not
available in 1.3. You are probably right, but I will try anyway for the
science. Things can be learned from failed experiments ^ ^ and the stack
of patches on Kotlin is pretty intimidating, this looks like even more
work than Gradle.
That was the motivation behind the gradle-bootstrap package currently in
sid: start with a binary only package containing Gradle, Koltin and
their dependencies, and use it to gradually rebuild these components
from source until the bootstrap package is no longer needed. I haven't
pushed further in this direction by lack of time but I still think
that's the best strategy to build a recent version of Gradle and Kotlin.
There is indeed a first stage bootstrap that definitely needs a binary
distribution of Gradle and Kotlin, maybe not necessarily packaged, but
for now I have slightly different plans for what happens next. I have to
refine and try a few things before telling you more.
Note that there is also an issue with the Gradle enterprise plugin that
isn't open sourced and has to be removed. I don't know if Gradle 8 is
still affected.
Still affected, libnative-platform-java as well now, but that was easily
patched.
Current status for Gradle is that it starts to compile the project
offline (using the binary distribution) with a reduced set of
dependencies but fails on missing references in the current
libnative-platform-java. Just getting the buildscript to compile and run
was some tough work. I managed to use the current gradle-debian-helper
to rewrite most artifact coordinates, with some workarounds. It won't
work as is with the new Gradle and will require some attention.
Still hoping to share repos next week for libnative-platform-java and
gradle.
Cheers,
--
Julien Plissonneau Duquène
Reply to: