Open Bug 1513396 Opened 5 years ago Updated 2 years ago

Add caching for gradle dependencies

Categories

(Firefox Build System :: Android Studio and Gradle Integration, enhancement, P3)

enhancement

Tracking

(Not tracked)

People

(Reporter: snorp, Unassigned)

References

Details

Things like bug 1513395 are very dangerous to our ability to continue to ship software. We should have mitigations in place, such as a local cache, to avoid such issues.
Nick, maybe you've thought about this some?
Flags: needinfo?(nalexander)
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #1)
> Nick, maybe you've thought about this some?

Sort of.  The outputs of android-gradle-dependencies toolchain builds _are_ a cache: don't change the inputs to the toolchain build and the modules fetched remain in place.  That is, most builds don't witness things like Bug 1513395.  I could be convinced that we should add another layer of caching in front of toolchain builds, so that (gross, in my opinion) mismanagement of our upstream providers doesn't impact our ability to evolve our dependency set.

There's precedent for such caches, specific to SCM levels, that look like on-disk volumes and not like remote services (a la sccache).  But I'm not sure they're robust with multiple builders, disks coming and going, etc.  Such an on-disk cache would beat running another Maven repo (with Nexus, just like we do for android-gradle-dependencies), and it would beat turning maven.mozilla.org into a pass-through cache (like Nexus).

So I've definitely thought about this but I don't have a lot of bright suggestions: I don't think we actually want to run a Nexus pass-through/proxy cache in production, and I don't think we've designed maven.mozilla.org to do this.
Flags: needinfo?(nalexander)
Priority: -- → P3
Product: Firefox for Android → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.