Bootstrapping Gradle source build using source only


(Carlo de Wolf) #1

I want to see a packaged Gradle on Fedora, but that requires a true FOSS build, not a zip downloading one.

In essence a FOSS build is the egg/chicken for the chicken/egg building Gradle with Gradle. Fedora only allows builds that use source or FOSS tools. Since Gradle needs to prove first to be completely build-able by FOSS it can not a zip download. It could use itself (the source is there) though, if it were properly bootstrapping.

Would it be possible to have a build script that use any other build tool or just plain shell script?


(Carlo de Wolf) #2

Added Gradle to https://fedoraproject.org/wiki/SIGs/Java#Package_Wishlist


(Carlo de Wolf) #3

Opened up https://bugzilla.redhat.com/show_bug.cgi?id=769321


(Peter Niederwieser) #4

I’m sure a very early version of Gradle was built with some other FOSS tool, and subsequent versions with earlier versions of itself. Maybe use this to construct a proof?


(Adam Murdoch) #5

is it sufficient to simply do a bootstrap build, where you use an existing distribution to build Gradle from source, then use that newly built Gradle distribution to build the final distribution:

./gradlew clean install -Pgradle_installPath=../bootstrap
../bootstrap/bin/gradle clean dists

(Peter Niederwieser) #6

I think the use an existing distribution is the culprit (i.e. not allowed).


(Carlo de Wolf) #7

Correct the existing distribution has not been proven yet and to proof you would have to go through the process.

One way through this is to first ‘manually’ compile and build the distribution (pass 1), then rebuild again using the ‘pass 1’ build.


(Alexander Kurtakov) #8

It also should be noted that the builds should happen without fetching artifacts from the internet. And this rule is strictly enforced so there is no way to workaround it.