make rebuilding after Fennec frontend changes less painful

NEW
Unassigned

Status

()

Core
Build Config
6 years ago
6 years ago

People

(Reporter: ted, Unassigned)

Tracking

Trunk
ARM
Android
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
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.
(Reporter)

Updated

6 years ago
Assignee: nobody → ted.mielczarek
(Reporter)

Comment 2

6 years ago
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
Blocks: 748452
(Reporter)

Comment 3

6 years ago
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.
(Reporter)

Comment 5

6 years ago
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
No longer blocks: 748452
You need to log in before you can comment on or make changes to this bug.