Closed Bug 1212973 Opened 10 years ago Closed 7 years ago

Determine the value of geckoview_example & act accordingly

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(fennec+)

RESOLVED WORKSFORME
Tracking Status
fennec + ---

People

(Reporter: mcomella, Unassigned)

References

Details

A build error in geckoview_example blocked bug 1201206 from landing. As Nick points out in bug 1201206 comment 33, it's unclear what value geckoview_example provides: ... At one time it [ed: geckoview_example] provided a check that the produced GeckoView could be compiled into an outside project; and it provided some (meager) documentation about the process. Today, b2gdroid is building in automation, so it fills the automated compilation role. And today, ~0 Ant based projects exist, so the documentation aspect is moot. We have better artifacts (the .AAR files!) and different (still meager) documentation on how to integrate (https://github.com/ncalexan/geckobrowser-gradle), so neither of these are valuable. In theory, GV example was to be used to test the interfaces; in reality that hasn't happened. Were we to do that, I think Gradle will be the way forward: 1) split GeckoView and Fennec into separate Gradle projects; 2) mutate Robocop into Fennec instrumentation tests; 3) fold what was GV example into GeckoView instrumentation tests; 4) finally run both sets of instrumentation tests in automation. --- Let's discuss! For some background on the current geckoview_example build setup see bug 1201206 comment 30. Carry over blassey NI from bug 1201206 comment 30.
Flags: needinfo?(blassey.bugs)
Value is high.
Flags: needinfo?(blassey.bugs)
I think getting a gradle build for geckoview_example is worthwhile. If I'm not mistaken, b2gdroid is currently acting as a smoketest for GeckoView builds, so geckoview_example is not critical. If getting a simple gradle build working is a small time commitment, we could try to get it ready sometime in Fx44.
(In reply to Brad Lassey [:blassey] (use needinfo?) from comment #1) > Value is high. Can you elaborate on what value you see? I agree with Nick's comments that b2gdroid satisfies the build smoketest requirement (see bug 1213480). If we want a real example build project, we should update geckoview_example to use gradle. However, I'd be curious to know how many third party developers have actually used this as a real example. I think it would probably be better to have something that lives on github, if the intention is to create an example app for people to copy. And unless I'm missing something, this is actually a really tiny example app... http://mxr.mozilla.org/mozilla-central/source/embedding/android/geckoview_example/ I'd be in favor of just removing this entirely.
Flags: needinfo?(blassey.bugs)
We need two smoke test apps, one "kitchen sink" app that exercises all of the APIs (b2gdroid satisfies this) and one barebones app to protect us from accidentally introducing android permission dependencies. That's what this is.
Flags: needinfo?(blassey.bugs)
(In reply to Brad Lassey [:blassey] (use needinfo?) from comment #4) > We need two smoke test apps, one "kitchen sink" app that exercises all of > the APIs (b2gdroid satisfies this) and one barebones app to protect us from > accidentally introducing android permission dependencies. That's what this > is. Such permission issues would only be discovered at runtime, and this App is not installed in automation. Even if it was installed, we wouldn't see permissions issues without running the required functionality on a device. As we move to Android 6/API 23, we'll see even less with such an approach. Whatever value this provides, it's never been used. If we want to check for permission changes, we should define what that really means and make it so.
(In reply to Nick Alexander :nalexander from comment #5) > (In reply to Brad Lassey [:blassey] (use needinfo?) from comment #4) > > We need two smoke test apps, one "kitchen sink" app that exercises all of > > the APIs (b2gdroid satisfies this) and one barebones app to protect us from > > accidentally introducing android permission dependencies. That's what this > > is. > > Such permission issues would only be discovered at runtime, and this App is > not installed in automation. That's a thing that's being fixed > Even if it was installed, we wouldn't see > permissions issues without running the required functionality on a device. > As we move to Android 6/API 23, we'll see even less with such an approach. This is not true, we fail to start up when this happens > > Whatever value this provides, it's never been used. If we want to check for > permission changes, we should define what that really means and make it so. That is happeneing, see above
tracking-fennec: ? → +
WFM because geckoview_example is the preferred way for developing and profiling GeckoView. I'm filing new bugs to fix some geckoview_example papercuts.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.