Welcome to the 6th blog in the series of GSoC 2020 blogs. Yeah I did not make a typo in the title. I wasn’t able to do any work in Week 5. My Grandfather underwent a spleen surgery so I was at the hospital with him for the fir st 10 days of this month. I notified the mentors earlier and attended the weekly meet for the 5th week. My grandfather is fine now and I am back on work. So this report consists of work done in more than a week.
The last 9 days (11th July to 19th July ) I spent tackling the Gradle’s ivy issue from last month. Turns out, the gradle-debian-helper-hook patch aka the hook in maven resolver which makes it look for jars in system repository since we will be building Gradle from source, in offline mode without any external jars, needed improvements. I improved that patch according to new upstream standards of resolving jars their and metadata. Two commits in particular related to component discovery for modules without metadata and normalization of ModuleIdentifier which reworks 3 other modules to use one module named ModuleIdentifier under the hood and helps reduce conversions during metadata comparisons while searching modules. In simple words, the commits helped me define pointers to metadata fields to modules so that I can then resolve the local modules. Maven originally resolves the modules obtained from mvn repositories. All the changes have been pushed to the same random-test branch here. (I should probably give better names to branches.)
There have been changes to actual Ivy patch too. I decided to use the patch which was used in previous version of Gradle in Debian. The patch was only part applicable as we shifted to kotlin from groovy and I have improved it to use latest Ivy. It doesn’t cause Gradle to FTBFS. I don’t know why the upstream hasn’t adopted it yet. They are still at Ivy 2.3.0. I think it breaks other tasks. But for debian packaging, It works runs fine. My commit can be found here.
As of today, Gradle fails to build because there’s no zinc compiler in Debian. There is Scala build tool available now which was the major dependency of Zinc when Gradle was initially packaged in Debian. I am thinking of patching out Scala and zinc parts from gradle for now as packaging Gradle is the high priority task. I will separately package Zinc later and remove the patch. The error logs can be found here. I will be working on this for the upcoming week and try to iron out as many as bits here and there. Let’s hope I get gradle packaged soon. Kotlin is also almost done, Thanks to Samyak’s work.
Thanks for reading, see you in the next one!