[GSoC 2020] Week 3 Report - Android SDK tools in Debian
This is my report for week 4 of coding period. ( 22nd June to 28th June)
This week I finally managed to get rid of the null pointer exception in Gradle. \o/
Turns out, it was due to the plexus module. I patched it out for the meanwhile. The patch can be found here.
This does mean that there might be some functionality missing in Gradle. Which we will have to fix sometime in the future. Other changes to Gradle are refreshments to the eclipse-aether patch which originally deals with using eclipse aether instead of aether (which is deprecated) but it was later modified to use maven resolver api. The patch wasn't completely converted when I did the conversion last time along with other patches. After converting, the patch still wouldn't work because the version which we used in the patch earlier isn't available now in mvn repository. After adding in the latest version in gradle/dependencies.gradle, I had to also add the pgp signatures of those jars in verification-metadata.xml All if this is done in a single commit here.
Now upon running Gradle build in online mode (since we don't have kotlin-gradle-plugin yet) I am getting a new error related to Ivy module. I thought the issue was due to older version of Ivy used (2.3.0) but turns out that Ivy 2.4.0 makes the package FTBFS. I am yet to dive in more into the Ivy issue. The issue can be found here. It kinda looks like it is related to maven resolver. But even after removing the eclipse aether patch we get the same error. Also, I do think that the eclipse aether patch is not necessarily required as upstream doesn't care if it's depreciated, it still uses it. So instead of making our own hacks to use eclipse aether/maven resolver , we should start a conversation with upstream and suggest them to use eclipse aether / maven resolver. We can discuss this in this thread and then start a thread with upstream.
On the Android SDK side of things, I have managed to find the exact version and build number of platform-tools package that will be added to the newer SDK on salsa. This was possible with the help of upstream CI artifacts. The list of packages in salsa which this new package will replace is under construction. I actually have it as a draft comment on the issue But I will paste it once its ready.
That's all for the week 4. It's been wonderful experience so far and hope it continues in the coming weeks. Thanks!