[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: