Draft: Bug 42669: Skip building the application-services megazord on Android
Merge Info
Issues
Resolves
Merging
Target Branches
-
main
: esr128-14.5 -
maint-14.0
: esr128-14.0 -
maint-13.5
: esr115-13.5
Backporting
Timeline
-
No Backport (preferred): patchset for the next major stable -
Immediate: patchset needed as soon as possible -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport
Change Description
This is still a draft, because I want to get feedback before moving forward.
In order for this to be ready to merge, we need to move uniffi-rs to the Applications team group -- and downgrade it to 0.27.1. We also need to merge the required modifications to tor-browser and mullvad-browser -- see the patch here.
There is also an important note here. Once we update ESR this whole thing will need to go through a really big change, because the newest uniffi and application-services do not rely on .udl files anymore. Instead they take the final lib and from its binary file generate the bindings. I would like to do some experimentation as to how we will handle that and still not build the Rust libs, because not having to build them is such an improvement on build time and complexity. I have some ideas revolving around downloading the megazord binary just for bindings generation in order to skip the build, which I'd like feedback on.
Since this is a large change I separated the commits to try and help reviewers -- hope it does help. I will fix them before merge to have the same style as the rest of this repository.
How Tested
Create an Android build, see if it works -- local testing says it does. Also check the sizes of the final APK, it should be 5MB smaller. Finally unzip the APK to double check that libs/libmegazord.so
is not here anymore.