Hey everyone!This is the report for final week of coding
period. (August 17th – 23rd )
After getting Gradle to build by itself last week and ending up with
manpage and pom.xml related errors [1]. I was super excited and I
jumped right at those errors. For the manpage, I tried using
asciidoctor and pod2man to convert the .adoc file to manpage but it
didn't work out. I ended up using last Gradle manual itself. It's in a
patch here [2]. The manual should be fine for now as its only a command
line doc and not much has changed in it. It will be a future task for
me to update manpage. 
2nd issue was about generation of pom.xml files. The patch [3] from
gradle 4.4.1 added the task[4] for it. The task needed a couple of
improvements to get it working and the patch was modified as
build.gradle has translated to build.gradle.kts now. The final commit
for this can be found here [5].
After this, I finally got the .deb for gradle. Upon testing it, I found
that GradleMain class itself is missing [6]. turns out I was missing
some jars in Gradle and I need to install them. I updated the
debian/libgradle-plugins-java.poms and debian/libgradle-core-java.poms
to include all  the missing jars [7]. These jars would be installed
when jh_installpoms is run while building Gradle. This installed almost
all the jars that were generated by various subprojects in Gradle. The
build logs can be found here [8]. Note: This is still in online mode.
 As we will be using the first working Gradle as bootstrap for further
builds that will be offline.
This  new .deb seemed pretty good until I tested the Gradle again and
found that things like ant, groovy-all, etc are hardcoded and our
Gradle throws up errors like these [9]. The issue is easy to understand
and easy to fix too. As on further digging in, I found that we actually
have the groovy-all.jar with us but just not in correct version. Gradle
needs 1.3-2.5.10 [10] while we have 2.4.17. There are multiple such
instances. These will need fixing. But the coding period has come to an
end. I will be working on these once I submit the final report for GSoC
later this week. These are just small irregularities and can be fixed
easily.
The whole building process and all the patches need proper
documentation and I will try my best to write it before I submit my
final report. This week had lots of stuff as I finally had a .deb
working which I could test and it throws easy to understand errors now.
Gradle isn't complete yet but I consider this as a win for now and this
is not-so-working deb of Gradle is a great helper. I will certainly be
working even after GSoC ends and will try to get Gradle packaged. Apart
from this, my partners and I have a Android tools BoF on the project
[11] during Debconf '20 on 27th August. Please attend if you can. :)
That's all for coding period. It was very much fun and full of
learning. See you guys in the final report. An informal blog post on
this week can be found here [12].
[1] 
https://paste.ubuntu.com/p/SBQvv6CxbX/#5 [2] 
https://salsa.debian.org/theloudspeaker-guest/gradle/-/blob/testing2/debian/patches/add-manpage.patch
 [3] 
https://salsa.debian.org/java-team/gradle/-/blob/master/debian/patches/generate-pom.patch
 [4] 
https://salsa.debian.org/java-team/gradle/-/blob/master/debian/generatePom.gradle
 [5] 
https://salsa.debian.org/theloudspeaker-guest/gradle/-/commit/6886e85d34f73cf3c368639d21cb8d4111d61725
 [6] https://p.ip.fi/lOEs [7] 
https://salsa.debian.org/theloudspeaker-guest/gradle/-/commit/29063e68fd7607bd65d74b05e7d6f47e1d81f548
 [8] https://p.ip.fi/_g2C [9] https://p.ip.fi/tjym[10] 
https://salsa.debian.org/theloudspeaker-guest/gradle/-/blob/testing2/gradle/dependencies.gradle#L24
 [11] https://debconf20.debconf.org/talks/34-android-tools-bof/ [12] 
https://theloudspeaker.home.blog/2020/08/25/gsoc-2020-week-12/
 
-- 
Raman Sarda
theloudspeaker.home.blog


-- 
Raman Sarda
theloudspeaker.home.blog

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to