[go: up one dir, main page]

Page MenuHomePhabricator

Bug 1918653 - Make shippable fat AAR builds faster r?nalexander
ClosedPublic

Authored by ahochheiden on Apr 7 2026, 8:51 PM.
Referenced Files
F84517315: D292590.1792405344.diff
Sun, Oct 18, 10:22 AM
Unknown Object (File)
Thu, Oct 15, 4:26 AM
Unknown Object (File)
Aug 11 2026, 2:44 PM
Unknown Object (File)
Jul 28 2026, 10:46 PM
Unknown Object (File)
Jul 28 2026, 9:00 PM
Unknown Object (File)
Jul 28 2026, 4:25 PM
Unknown Object (File)
Jul 28 2026, 10:49 AM
Unknown Object (File)
Jul 28 2026, 10:03 AM
Subscribers

Details

Summary

The fat AAR task aggregates multiple platform-specific builds into a single
package. This is done with a build, since that's the natural entry point
into the Gradle packaging step. Historically, that build was a "full build",
since the resulting omnijar needed to be multi-locale. But that's no longer
true; now the input builds are multi-locale, so there's no need to run the
multi-locale steps in this task. That means we can use artifact builds and
avoid the long full build in this task. The only change is to the generated
buildconfig.xhtml; having that vary in a fat AAR package is not impactful.

Diff Detail

Event Timeline

phab-bot published this revision for review.Apr 7 2026, 8:52 PM
phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: secure-revision.
ahochheiden updated this revision to Diff 1242960.
ahochheiden retitled this revision from Bug 1918653 - Make shippable fat AAR builds faster r?nalexander to WIP: Bug 1918653 - Make shippable fat AAR builds faster r?nalexander.

Code analysis found 5 defects in diff 1242960:

  • 5 defects found by android-fenix (Mozlint)
IMPORTANT: Found 5 defects (error level) that must be fixed before landing.

You can run this analysis locally with:

  • ./mach lint --warnings --outgoing

If you see a problem in this automated review, please report it here.

You can view these defects in the Diff Detail section of Phabricator diff 1242960.

ahochheiden updated this revision to Diff 1245641.
ahochheiden retitled this revision from WIP: Bug 1918653 - Make shippable fat AAR builds faster r?nalexander to Bug 1918653 - Make shippable fat AAR builds faster r?nalexander.

Thoughts:

  1. This needs a commit message explaining why this is safe. Something like:

"The fat AAR task aggregates multiple platform-specific builds into a single package. This is done with a build, since that's the natural entry point into the Gradle packaging step. Historically, that build was a "full build", since the resulting omnijar needed to be multi-locale. But that's no longer true; now the input builds are multi-locale, so there's no need to run the multi-locale steps in this task. That means we can use artifact builds and avoid the long full build in this task. The only change is to the generated buildconfig.xhtml; having that vary in a fat AAR package is not impactful."

  1. This needs to handle -lite, which I don't think it does.
  2. I'm confident that the only change this makes is to buildconfig.xhtml. I tested this by adding support for setting the pushdate (not yet landed) and manually inspecting try builds; see original build and build with this patch applied, pushdate set, and existing tasks re-used.
This revision now requires changes to proceed.Apr 27 2026, 4:32 PM
ahochheiden updated this revision to Diff 1259539.
ahochheiden edited the summary of this revision. (Show Details)
nalexander added a reviewer: RyanVM.
nalexander added a subscriber: RyanVM.

@RyanVM -- FYSA. We'd talked about this in the past, but it was blocked on digging into the produced APKs. I did that last weekend, so I think we're good to go with this.

Looks like it works the way we had previously discussed, thanks! Any chance we'll eventually extend this to Beta & Release also so we get the E2E benefits there as well?

This revision is now accepted and ready to land.Apr 29 2026, 9:00 PM

Looks like it works the way we had previously discussed, thanks! Any chance we'll eventually extend this to Beta & Release also so we get the E2E benefits there as well?

Ask and ye shall receive. As far as I'm aware, there's nothing channel-specific here. Does this require fat-aar variants of the beta and release mozconfigs?

This revision is now accepted and ready to land.May 9 2026, 8:39 AM