Add gradle support for building gecko binaries
Categories
(Firefox Build System :: Android Studio and Gradle Integration, enhancement, P3)
Tracking
(Not tracked)
People
(Reporter: nalexander, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(4 obsolete files)
Reporter | ||
Comment 1•6 years ago
|
||
Reporter | ||
Comment 2•6 years ago
|
||
Reporter | ||
Comment 3•6 years ago
|
||
Reporter | ||
Comment 4•6 years ago
|
||
Comment 5•6 years ago
|
||
There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:nalexander, could you have a look please?
Updated•6 years ago
|
Reporter | ||
Comment 6•5 years ago
|
||
(In reply to Release mgmt bot [:sylvestre / :calixte / :marco for bugbug] from comment #5)
There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:nalexander, could you have a look please?
Just circling back: this will take a different direction at some point, post Bug 1550146. snorp is actively looking at removing withGeckoBinaries
, following these patches.
Reporter | ||
Comment 7•4 years ago
|
||
Note to self: moons ago, I worked out an approach for getting rid of withGeckoBinaries
. That's in the patch series here. It's sneaky: it uses the Gradle task graph to determine if the Gecko binaries (libxul.so
and friends, omni.ja
) are needed.
But the moon has moved, and I think this sneakiness might not be necessary. The signal that Gecko binaries are needed should just be COMPILE_ENVIRONMENT || MOZ_ARTIFACT_BUILDS
. If I'm correct, we could dramatically simplify this situation by using that as the conditional rather than having the geckoBinaries
product flavour dimension.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•2 years ago
|
Comment 8•8 months ago
|
||
I also need this feature. Running mach build
then mach build faster
adds about 2 extra minutes per compilation (I'm assuming it is because I'm running TIER: android-stage-package android-archive-geckoview
twice, one in fast and one in full/binary build). Just running mach build works for me though, so I just removed args 'faster'
from https://searchfox.org/mozilla-central/rev/535119812a0eda6f252f6378fbdbe46efa95970a/build.gradle#350 and it seems to be working for me.
Reporter | ||
Comment 9•8 months ago
|
||
(In reply to Fatih Kilic from comment #8)
I also need this feature. Running
mach build
thenmach build faster
adds about 2 extra minutes per compilation (I'm assuming it is because I'm runningTIER: android-stage-package android-archive-geckoview
twice, one in fast and one in full/binary build). Just running mach build works for me though, so I just removedargs 'faster'
from https://searchfox.org/mozilla-central/rev/535119812a0eda6f252f6378fbdbe46efa95970a/build.gradle#350 and it seems to be working for me.
Thanks! You identified the piece that I had in mind that we wouldn't want to run twice -- the android-*
tiers. I can see at least two ways to make progress around this:
- When invoking
mach build
from Gradle setMACH_INVOKED_WITHIN_GRADLE=1
and filter out the tiers we don't want when that is set around https://searchfox.org/mozilla-central/rev/535119812a0eda6f252f6378fbdbe46efa95970a/config/baseconfig.mk#57-60. - Invoke
mach build binaries
aftermach build faster
from within Gradle.
The main reason to maybe do 2. is that it's not clear to me what doing 1. will do when there are mach configure
changes pending. A smaller reason is that a no-op mach build binaries
is really quite fast, where-as a no-op mach build
is really quite slow. It's not clear to me that binaries; faster
is enough, but I think it is.
For the future: I wonder how close we can get to a "Gradle-powered cold start". That is, can we place a mozconfig
and then open m-c in Android Studio and have that operation drive the mach configure
, etc needed to completely build the tree? I don't think that's possible with only mach build binaries
.
Reporter | ||
Comment 10•5 months ago
|
||
As a first step, a patch that also invokes mach build binaries
after mach build faster
around https://searchfox.org/mozilla-central/rev/4a8bd8efdfaa43dd14a16d3cb15bf86796fd1def/build.gradle#365 (only when we have a compile environment!) would be interesting. This isn't quite the same as mach build
, but it should be quite a bit faster for no-op builds.
Description
•