Fix --with-gradle by removing outdated GeckoView packaging

RESOLVED FIXED in Firefox 50

Status

defect
RESOLVED FIXED
3 years ago
Last month

People

(Reporter: mcomella, Assigned: nalexander)

Tracking

(Blocks 1 bug)

unspecified
mozilla50
All
Android
Dependency tree / graph

Firefox Tracking Flags

(firefox50 fixed)

Details

Attachments

(1 attachment)

liuche & ahunt tried this independently at some point and it broke during packaging.
(In reply to Michael Comella (:mcomella) from comment #0)
> liuche & ahunt tried this independently at some point and it broke during
> packaging.

First guess: new Gradle has changed the classes.dex path around https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/Makefile.in#218.
Not working on this currently, if others want to pick it up.
Assignee: liuche → nobody
For the record, I get a successful build and package with the following mozconfig, with 

⋊> ~/M/gecko hg parent                                                                               09:58:33
changeset:   359198:251fccc1f62b
tag:         tip
fxtree:      central
user:        Rail Aliiev <rail@mozilla.com>
date:        Mon Jul 25 11:24:53 2016 -0400
summary:     Bug 1289153 - merge scripts should pass --new-branch for m-r push r=jlund a=release DONTBUILD

# Build Firefox for Android:
ac_add_options --enable-application=mobile/android
ac_add_options --target=arm-linux-androideabi

# With the following Android SDK and NDK:
ac_add_options --with-android-sdk="/Users/nalexander/.mozbuild/android-sdk-macosx"

mk_add_options MOZ_OBJDIR=./objdir-droid

mk_add_options AUTOCLOBBER=1

mk_add_options 'export MOZ_DISABLE_GECKOVIEW=1'

ac_add_options --enable-artifact-builds

MOZ_ANDROID_GECKOLIBS_AAR=1

ac_add_options --with-gradle

ENABLE_MARIONETTE=1 

Perhaps my options are unusual?  I'll try without the packaging flags.
> Perhaps my options are unusual?  I'll try without the packaging flags.

Aha!  Without "export MOZ_DISABLE_GECKOVIEW=1", I see a failure packaging.  This is interesting, because the GV hacks right now really can't be supported under --with-gradle.  (Of course, we can do GV /right/ using --with-gradle, but that's some work.)

 <snip>
 0:12.92   176452 classes.dex (OK)
 0:12.92 Verification succesful
 0:12.93 Android geckolibs.aar packaging is disabled
 0:12.93 make[4]: Entering directory `/Users/nalexander/Mozilla/gecko/objdir-droid/mobile/android/geckoview_library'
 0:14.10 cp: ../../../mobile/android/base/*.jar: No such file or directory
 0:14.10 make[4]: *** [package] Error 1
 0:14.10 make[4]: Leaving directory `/Users/nalexander/Mozilla/gecko/objdir-droid/mobile/android/geckoview_library'
 0:14.10 make[3]: *** [make-package-internal] Error 2
 0:14.10 make[3]: Leaving directory `/Users/nalexander/Mozilla/gecko/objdir-droid/mobile/android/installer'
 0:14.10 make[2]: *** [make-package] Error 2
 0:14.10 make[2]: Leaving directory `/Users/nalexander/Mozilla/gecko/objdir-droid/mobile/android/installer'
 0:14.10 make[1]: *** [default] Error 2
 0:14.10 make[1]: Leaving directory `/Users/nalexander/Mozilla/gecko/objdir-droid/mobile/android/installer'
 0:14.10 make: *** [package] Error 2
 0:14.10 make: Leaving directory `/Users/nalexander/Mozilla/gecko/objdir-droid'
The best kind of patch: bulk deletion.  This removes two separate but
similar build flags, and an unsupported integration piece.  The first
packaged Fennec's resources into an ill-defined GeckoView archive; the
second built on the first to produce an Android ARchive for external
consumption.  Neither of these artifacts are supported or have
consumers; in fact, they mislead potential consumers, since they're
known to be broken.  The Gradle build work under the --with-gradle
flag, and significant follow-up, is the path forward if Mozilla wants
to invest in packaging GeckoView on Android for external consumption.
That is, rather than hacking together AAR files, we'll use the
well-supported Gradle mechanisms for building and publishing such
libraries.

Review commit: https://reviewboard.mozilla.org/r/66900/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/66900/
Attachment #8774494 - Flags: review?(cmanchester)
Comment on attachment 8774494 [details]
Bug 1268944 - Remove GeckoView packaging.

https://reviewboard.mozilla.org/r/66900/#review63788

Looks good to me. Consider re-summarizing the bug to reflect the removal.
Attachment #8774494 - Flags: review?(cmanchester) → review+
Summary: Fix --with-gradle → Fix --with-gradle by removing outdated GeckoView packaging
Assignee: nobody → nalexander
Status: NEW → ASSIGNED
Pushed by nalexander@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/efc0b2d797ab
Remove GeckoView packaging. r=chmanchester
myk: nothing for you to do here, just wanted this to be on your radar.  This removes a lot of packaging cruft that's similar to what GV wants, but isn't how it should be accomplished.
https://hg.mozilla.org/mozilla-central/rev/efc0b2d797ab
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 50
No longer blocks: gradle-automation
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 50 → mozilla50
You need to log in before you can comment on or make changes to this bug.