Closed Bug 1503455 (build-android-p) Opened 6 years ago Closed 5 years ago

[meta] Build with Android P SDK (API 28)

Categories

(Firefox Build System :: Android Studio and Gradle Integration, enhancement)

Unspecified
Android
enhancement
Not set
normal

Tracking

(firefox64 wontfix, firefox65 wontfix, firefox66 wontfix, firefox67 fixed)

RESOLVED FIXED
mozilla67
Tracking Status
firefox64 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- fixed

People

(Reporter: m_kato, Assigned: JanH)

References

Details

(Keywords: meta, Whiteboard: [geckoview])

Attachments

(4 files)

This is meta bug to switch to Android P SDK.  Android P has some features such as cutout.
Keywords: meta
Whiteboard: [geckoview]
Depends on: 1504105
No longer blocks: 1503656
Blocks: 1518226
Not strictly required, but since we're in the area anyway...
Post bug 1498406, this seems to be unused and doesn't affect anything.
Once we start compiling with API28, android.test.* is no longer part of the main
framework JAR and will be included from separate libraries instead.
Those additional JARs will then subsequently show up on the class path in
Gradle, too.

Because our SDKProcessor is currently set up to process only one JAR at a time
and because we don't actually need to generate bindings for those test classes,
we simply filter them out again.

We explicitly only filter the android.test.* JARs and use findAll so that if the
android classpath unexpectedly gains another member, we're alerted to that fact
and can consciously take a decision on whether to ignore it as well or not.
android.test.* is no longer part of the main framework, so as per
https://developer.android.com/training/testing/set-up-project,
- we must no longer declare them as a *required* dependency in our manifests
- we must explicitly include a dependency on them in our build config

This will temporarily break running tests depending on android.test.* (i.e.
mainly Robocop) on devices using P or newer until we also start targeting P as
well.
No longer depends on: 1504105
Assignee: nobody → jh+bugzilla
Attachment #9036226 - Attachment description: Bug 1503455 - Part 3 - Filter classpath for SDK bindings generation. r?nalexander → Bug 1503455 - Part 3: Filter classpath for SDK bindings generation. r?nalexander
Attachment #9036227 - Attachment description: Bug 1503455 - Part 4: Compile with SDK28. r?nalexander → Bug 1503455 - Part 4: Compile with SDK28. r?nalexander, snorp
Pushed by mozilla@buttercookie.de:
https://hg.mozilla.org/integration/autoland/rev/df118467fa9a
Part 1: Update some test library versions. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/8a0f54126a96
Part 2: Remove compile SDK setting from configure. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/b25a6a0433d6
Part 3: Filter classpath for SDK bindings generation. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/22ac6aeda14e
Part 4: Compile with SDK28. r=nalexander,snorp

The target API change should definitively ride the trains, and while the compile SDK change could be uplifted if absolutely necessary, I'd prefer keeping both changes together.
So I'm marking this wontfix to get it off any tracking lists, but if somebody absolutely needs to use some SDK27/28 API in 66 I guess we could reconsider it.

Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 67 → mozilla67
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: