make rebuilding after Fennec frontend changes less painful

NEW
Unassigned

Status

defect
7 years ago
2 years ago

People

(Reporter: ted, Unassigned)

Tracking

Trunk
ARM
Android

Firefox Tracking Flags

(Not tracked)

Details

Right now if you're just touching browser.js, the rebuild/test cycle for Fennec is pretty bad. We should figure out a way to make this suck less.

For one, we might be able to add a special make target that rebuilds only what's needed, instead of doing a full top-level rebuild or knowing the voodoo about which directories to make in.

Additionally, if we can figure out a way to short-circuit the "make package" cycle for front-end changes, that would help quite a bit.
(In reply to Ted Mielczarek [:ted] from comment #0)
> Right now if you're just touching browser.js, the rebuild/test cycle for
> Fennec is pretty bad. We should figure out a way to make this suck less.

Proper dependencies to build java code would help significantly.

> For one, we might be able to add a special make target that rebuilds only
> what's needed, instead of doing a full top-level rebuild or knowing the
> voodoo about which directories to make in.
> 
> Additionally, if we can figure out a way to short-circuit the "make package"
> cycle for front-end changes, that would help quite a bit.

You can't really escape make package, since you need the omnijar and the apk created. Now, if we had an actual omnijar chrome-format, instead of using flat, we could create the omnijar that way, push it on the device, and have fennec load it instead of what it has in the apk.
Assignee: nobody → ted.mielczarek
14:35 < glandium> check with the #mobile people
14:35 < glandium> iirc the options are -appomni and -greomni or something like 
                  that
14:36 < glandium> yeah that's it. it should work with -greomni only
14:39 <@ted> hmm!
14:40 < glandium> ted: 
http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/GeckoAppShell.java#446
14:41 < glandium> and it's possible that just adding the args through --es args 
                  on am start command line would work
There's also this startupcache issue, which sucks:
https://wiki.mozilla.org/Mobile/Fennec/Android#Partial_Builds:_Beware_the_startup_cache.21

If you don't do a full rebuild, you don't get a new BuildID, so the startupcache doesn't get invalidated, so your chrome changes don't show up.
Note, on fennec, the timestamp of the apk is pretty reliable to know whether it's a new build or not.
This looks like too much work for the moment. Not being able to rebuild the omnijar without repackaging is the biggest pain.
Assignee: ted.mielczarek → nobody
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.