Commit Graph

99 Commits

Author SHA1 Message Date
Nick Alexander
c46ec74815 Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal
This does many things:

1) stops producing (and consuming) `FennecJNI*` JNI wrappers
2) removes the :app and :thirdparty Gradle projects
3) removes relevant pieces of the Gradle target configuration
4) updates lints
5) purges old configurations

After this commit, the `mobile/android` project/application builds
only GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D46536

--HG--
extra : moz-landing-system : lando
2019-10-04 20:55:11 +00:00
Nick Alexander
76e3983210 Bug 1572859 - Package more aggressively when building GeckoView (and Fennec) within Gradle. r=agi
This always invokes `mach package` (in reality `make -C
... stage-package` for historical reasons), sacrificing a few seconds
of package-related time every Gradle build.  We then rely on Gradle's
fingerprinting to know when AAR/APK targets are up to date.

This should be much better for GeckoView engineers: the old input file
computations were simplifications tuned for Fennec engineers consuming
artifact builds.

Differential Revision: https://phabricator.services.mozilla.com/D41447

--HG--
extra : moz-landing-system : lando
2019-08-14 20:38:42 +00:00
Agi Sferro
de8452c468 Bug 1571288 - Fix gradle warnings about obsolete APIs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41440

--HG--
extra : moz-landing-system : lando
2019-08-12 15:18:23 +00:00
Agi Sferro
060d39ba77 Bug 1571326 - Update to apilint 0.2.5. r=droeh
Before this version, apilint would not include CHANGELOG errors in the json
report. After Bug 1512487 we started ignoring apilint output (and erorr code)
and only consider the json report, so the CHANGELOG erorrs broke.

Updating to 0.2.5 makes it so the CHANGELOG errors are included in the json
report correctly. E.g.:

```
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
  384:14  error  The api changelog file is out of date. Please update the file
          and modify the [api-version] line as follows: [api-version]:
          a0b1e88e8bb3045a22c0942d736f4e9b4532bdeb  wrong_api_version
          (android-api-lint)
```

The apilint fix is here:
9cadbd0686

Differential Revision: https://phabricator.services.mozilla.com/D40655

--HG--
extra : moz-landing-system : lando
2019-08-05 17:48:21 +00:00
Gurzau Raul
a343bb4dd9 Backed out changeset 23a2c1dd36ac (bug 1571326) for lint failure at geckoview/RuntimeSettings.java on a CLOSED TREE. 2019-08-05 20:44:04 +03:00
Agi Sferro
6f14615c8c Bug 1571326 - Update to apilint 0.2.5. r=droeh
Before this version, apilint would not include CHANGELOG errors in the json
report. After Bug 1512487 we started ignoring apilint output (and erorr code)
and only consider the json report, so the CHANGELOG erorrs broke.

Updating to 0.2.5 makes it so the CHANGELOG errors are included in the json
report correctly. E.g.:

```
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
  384:14  error  The api changelog file is out of date. Please update the file
          and modify the [api-version] line as follows: [api-version]:
          a0b1e88e8bb3045a22c0942d736f4e9b4532bdeb  wrong_api_version
          (android-api-lint)
```

The apilint fix is here:
9cadbd0686

Differential Revision: https://phabricator.services.mozilla.com/D40655

--HG--
extra : moz-landing-system : lando
2019-08-05 16:33:30 +00:00
Agi Sferro
194ec7662a Bug 1568982 - Include source line information in apilint. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D39401

--HG--
extra : moz-landing-system : lando
2019-07-25 20:31:38 +00:00
Agi Sferro
094f958c69 Bug 1522795 - Update android gradle plugin to 3.4.2. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D39106

--HG--
extra : moz-landing-system : lando
2019-07-24 18:48:54 +00:00
Agi Sferro
d0cb127dad Bug 1515248 - Upgrade to Android-Gradle plugin 3.2.1 and build-tools 28.0.3. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D15159

--HG--
extra : moz-landing-system : lando
2019-07-20 17:27:53 +00:00
Agi Sferro
2b4677581d Bug 1565410 - Don't expose BundleEventListener in the API. r=esawin
This also updates apilint to 0.2.2 to ensure that future instances of this
problem will be caught automatically.

Differential Revision: https://phabricator.services.mozilla.com/D37812

--HG--
extra : moz-landing-system : lando
2019-07-17 15:48:58 +00:00
Gurzau Raul
9e92bbfdc8 Backed out 2 changesets (bug 1557096, bug 1565410) for multiple regressions linked to Bug 1557096. a=backout CLOSED TREE
Backed out changeset d35d90d0322b (bug 1565410)
Backed out changeset 4629e855ea33 (bug 1557096)

--HG--
extra : amend_source : a32a416570e06b3905d482ebf313a0da21e53cb6
2019-07-17 00:07:39 +03:00
Agi Sferro
61f5744ce6 Bug 1565410 - Don't expose BundleEventListener in the API. r=esawin
This also updates apilint to 0.2.2 to ensure that future instances of this
problem will be caught automatically.

Differential Revision: https://phabricator.services.mozilla.com/D37812

--HG--
extra : moz-landing-system : lando
2019-07-12 20:04:38 +00:00
J.C. Jones
9b769ac3e9 Bug 1391438 - Support FIDO2 for WebAuthn on Android r=snorp,keeler
Support using the Google Play-provided FIDO2 API for Web Authentication.

FIDO U2F API support  is being handled subsequently in Bug 1550625.

This patch uses the privileged APIs and thus will only work on Fennec Nightly, Beta, and Release builds.

Differential Revision: https://phabricator.services.mozilla.com/D1148

--HG--
extra : moz-landing-system : lando
2019-05-10 16:40:17 +00:00
Nick Alexander
1764740990 Bug 1543982 - Part 2: Don't invoke mach build ... recursively. r=emilio
This commit avoids moz.build tasks when we're already within `mach
build`.

This is belt-and-braces: from within `mach build`, we want the main
moz.build dependency graph to arrange for the Gradle invocations to be
in the right state.  It's only in other situations, like `mach android
...` or invocation from Android Studio, that we want Gradle to arrange
to be in the right state vis. moz.build.

Differential Revision: https://phabricator.services.mozilla.com/D30426

--HG--
extra : moz-landing-system : lando
2019-05-09 20:39:10 +00:00
Nick Alexander
e68b7c0a8f Bug 1543982 - Part 1: Avoid re-configuring from within Gradle. r=emilio
The inline comment explains what is happening here.  The issue is that
client.mk is setting MOZ_OBJDIR (and autoconf.mk is setting CC/CXX and
others) as part of `mach build`, which means that recursively invoking
`mach build` sees a different environment, and that triggers
reconfigure.

In some situations we can avoid this by recognizing that the
environment has changed and setting it back to what it was at the time
of `mach build` before client.mk adjusts it.

Differential Revision: https://phabricator.services.mozilla.com/D30425

--HG--
extra : moz-landing-system : lando
2019-05-09 20:38:48 +00:00
Eugen Sawin
9a2c465f9f Bug 1544076 - [1.1] Add lifecycle library dependency. r=nalexander,snorp
Differential Revision: https://phabricator.services.mozilla.com/D28082

--HG--
extra : moz-landing-system : lando
2019-04-24 17:51:32 +00:00
Eugen Sawin
23e0b455ee Bug 1544076 - [0.1] Upgrade Android support library to 28.0.0 to avoid version conflicts with the lifecycle library. r=nalexander,droeh
Differential Revision: https://phabricator.services.mozilla.com/D27971

--HG--
extra : moz-landing-system : lando
2019-04-24 16:22:50 +00:00
Agi Sferro
c1f4fbd0dd Bug 1546411 - [geckoview] Hide all @IntDef and @StringDef. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D28503

--HG--
extra : moz-landing-system : lando
2019-04-24 02:22:39 +00:00
Razvan Maries
f66c2eb864 Backed out 2 changesets (bug 1546411, bug 1546135) for build bustages. CLOSED TREE
Backed out changeset a66f1ffd23ea (bug 1546411)
Backed out changeset a322ec5c25e6 (bug 1546135)
2019-04-24 02:34:50 +03:00
Agi Sferro
e69ce95872 Bug 1546411 - [geckoview] Hide all @IntDef and @StringDef. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D28503

--HG--
extra : moz-landing-system : lando
2019-04-23 22:58:50 +00:00
Agi Sferro
41ada62a03 Bug 1543396 - Simplify GeckoView's api.txt file. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D26913

--HG--
extra : moz-landing-system : lando
2019-04-10 17:46:09 +00:00
Agi Sferro
050acb72a1 Bug 1541609 - [geckoview] Enforce packages in API. r=snorp,esawin
Depends On D26029

Differential Revision: https://phabricator.services.mozilla.com/D26030

--HG--
extra : moz-landing-system : lando
2019-04-10 01:50:58 +00:00
Agi Sferro
3960667956 Bug 1535013: [geckoview] Add default impls to all interfaces. r=snorp
This also upgrades apilint to 0.1.8 to enforce that all interfaces have default
impls.

Differential Revision: https://phabricator.services.mozilla.com/D23324

--HG--
extra : moz-landing-system : lando
2019-03-14 16:48:57 +00:00
Brindusan Cristian
1f6d297e33 Backed out 5 changesets (bug 1508976, bug 1522581) for android geckoview bustages at /usr/bin/python2.7. CLOSED TREE
Backed out changeset 7a6be593b0be (bug 1522581)
Backed out changeset c47b37ac1775 (bug 1522581)
Backed out changeset 91c31d2a7706 (bug 1508976)
Backed out changeset da57df805c56 (bug 1508976)
Backed out changeset 4e5d97c93515 (bug 1508976)
2019-03-05 22:42:15 +02:00
Nick Alexander
5854b41436 Bug 1508976 - Produce a multi-architecture GeckoView "fat AAR". r=snorp,agi,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15771

--HG--
extra : moz-landing-system : lando
2019-03-05 17:52:54 +00:00
Agi Sferro
085d28afff Bug 1514374 - Remove workaround for accessibility-test-framework. r=nalexander,geckoview-reviewers,snorp
Looks like accessibility-test-framework was added to maven central so we can
remove this.

Differential Revision: https://phabricator.services.mozilla.com/D20365

--HG--
extra : moz-landing-system : lando
2019-02-20 17:44:23 +00:00
Andrei Lazar
9ddd6f263c Bug 1524529 Update Play Services Cast to 16.0.0 r=VladBaicu
Updated play-services-cast to 16.0.0 in order to benefit from the IPv6 and other features.

Differential Revision: https://phabricator.services.mozilla.com/D18324

--HG--
extra : moz-landing-system : lando
2019-02-04 12:44:13 +00:00
Jan Henning
879d1a037c Bug 1503455 - Part 4: Compile with SDK28. r=nalexander,snorp
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.

Differential Revision: https://phabricator.services.mozilla.com/D16422

--HG--
extra : moz-landing-system : lando
2019-01-28 18:32:11 +00:00
Agi Sferro
02aa520632 Bug 1521404 - Fix apilint warnings about BuildConfig. r=geckoview-reviewers,snorp
See aa9e8a7a23.

Differential Revision: https://phabricator.services.mozilla.com/D17268

--HG--
extra : moz-landing-system : lando
2019-01-23 14:48:12 +00:00
Agi Sferro
cffe966865 Bug 1506658 - Add @Nullable or @NonNull to all APIs. r=snorp,rbarker,geckoview-reviewers
Upgrading apilint to the 0.1.6 release will also ensure that new APIs have
nullability annotations via the GV4 and GV5 lints, see [0].

[0]: b994c7ca9d (diff-2c7de691a2642510f69b9ddf59276d85R569)

Differential Revision: https://phabricator.services.mozilla.com/D14896

--HG--
extra : moz-landing-system : lando
2018-12-20 15:22:45 +00:00
Nick Alexander
f509ab73ad Bug 1509573 - Part 3: Use |make -C ... stage-package| rather than special Make target. r=snorp
This splits the two stage-package invocations (which are rather slow)
between Fennec and GeckoView, hopefully speeding local GV development
up a little (in the IDE).

The stage-package invocations depend on |mach build faster|, because
the omnijar contents might need to be updated.

In addition, we feed the packaged libs (and asset libs) through.

Differential Revision: https://phabricator.services.mozilla.com/D12799

--HG--
extra : moz-landing-system : lando
2018-12-18 23:01:16 +00:00
Nick Alexander
a8199ab531 Bug 1509573 - Part 1: Use |mach build ...| rather than special Make target. r=snorp
This uses |mach build mobile/android/base/...| rather than a custom
target, reducing Make magic and making it a little easier to reason
about the Gradle build.  This is somewhat rearranging deckchairs, but
the more that gets out of Make and into moz.build, the simpler our
lives become.

The shared `onlyIf` Gradle guard will be used to make it very clear
when certain tasks are being skipped, as we move details about Gecko
binaries to depend on the Gradle task execution graph.

I also took the opportunity to improve the task logging.

Differential Revision: https://phabricator.services.mozilla.com/D12798

--HG--
extra : moz-landing-system : lando
2018-12-18 23:54:08 +00:00
Nick Alexander
47d6187d14 Bug 1498406 - Part 2: Don't check for Android platform in configure. r=froydnj
There's no need -- it will be fetched by Gradle when needed.  The only
wrinkle is that the user might be asked to confirm license agreements,
which could be a hassle (and could cause problems in CI, but there we
install relevant platforms in advance).

Differential Revision: https://phabricator.services.mozilla.com/D14288

--HG--
extra : moz-landing-system : lando
2018-12-18 03:29:16 +00:00
Agi Sferro
e75266a619 Bug 1502118 - Enforce GV lints with apilint. r=snorp
This makes it so that apilints lints with "GV" codes are enforced and will fail
the build.

Depends on D13882

Differential Revision: https://phabricator.services.mozilla.com/D13883

--HG--
extra : moz-landing-system : lando
2018-12-17 22:32:11 +00:00
Agi Sferro
a7360dc455 Bug 1513395 - Ask gradle to download all dependencies. r=nalexander
This adds a task to each project called `downloadDependencies`. This task will
go through each configuration and resolve every dependency so that the gradle
cache contains a copy of every file needed for building and running tests. This
is intended to be used together with our nexus oss database but it can be used
locally too.

Note: `downloadDependencies` does not download dependencies added a runtime,
e.g. by plugins like apilint, checkstyle, findbugs... so we still need to run
those tasks to collect their dependencies.

Depends on D14516

Differential Revision: https://phabricator.services.mozilla.com/D14622

--HG--
extra : moz-landing-system : lando
2018-12-14 21:37:37 +00:00
Agi Sferro
46d5e9f8a4 Bug 1513395 - Vendor accessibility-test-framework in m-c. r=nalexander,geckoview-reviewers,snorp
This vendors accessibility-test-framework which has recently been remove by
accident from the Google maven repository, this library can be removed once
https://issuetracker.google.com/issues/120951637 is resolved.

Depends on D14514

Differential Revision: https://phabricator.services.mozilla.com/D14516

--HG--
extra : moz-landing-system : lando
2018-12-14 21:34:06 +00:00
Razvan Maries
326dd87a7b Backed out 4 changesets (bug 1509573) for unexpected bustages a=backout.
Backed out changeset ace2d2ada8ef (bug 1509573)
Backed out changeset 059741f95cf4 (bug 1509573)
Backed out changeset 36cf7b9ce095 (bug 1509573)
Backed out changeset d7e0661e34c2 (bug 1509573)

--HG--
extra : amend_source : b2bd61c3d8c9db3686bf0d9773f0b53e69174789
2018-11-30 01:40:06 +02:00
Nick Alexander
017054253f Bug 1509573 - Part 4: Use |make -C ... stage-package| rather than special Make target. r=snorp
This splits the two stage-package invocations (which are rather slow)
between Fennec and GeckoView, hopefully speeding local GV development
up a little (in the IDE).

In addition, we feed the packaged libs (and asset libs) through.

Differential Revision: https://phabricator.services.mozilla.com/D12799

--HG--
extra : moz-landing-system : lando
2018-11-28 19:47:48 +00:00
Nick Alexander
db00bffc9d Bug 1509573 - Part 3: Extract shared onlyIf Gradle guard. r=snorp
This will be used to make it very clear when certain tasks are being
skipped, as we move details about Gecko binaries to depend on the
Gradle task execution graph.

Differential Revision: https://phabricator.services.mozilla.com/D12798

--HG--
extra : moz-landing-system : lando
2018-11-28 19:46:54 +00:00
Nick Alexander
f5cdc551cb Bug 1509573 - Part 2: Use |mach build faster| rather than special Make target. r=snorp
This uses |mach build faster| rather than a custom target, reducing
Make magic and making it easier to reason about the Gradle build.  I
also took the opportunity to improve the task logging.

Differential Revision: https://phabricator.services.mozilla.com/D12797

--HG--
extra : moz-landing-system : lando
2018-11-28 19:46:35 +00:00
Agi Sferro
a20e4c23c7 Bug 1458668 - Enforce changelog for GeckoView; r=snorp
This patch integrates with apilint changelog feature to ensure we update the
changelog file every time the api changes.

It also adds a high level overview of the changes in v65.

See also: https://github.com/mozilla-mobile/gradle-apilint#changelog

Differential Revision: https://phabricator.services.mozilla.com/D12550

--HG--
extra : moz-landing-system : lando
2018-11-26 16:27:06 +00:00
Agi Sferro
7c73e99698 Bug 1506267 - Use apilint to track API changes in api.txt. r=snorp,nalexander.
Depends on D12047

Differential Revision: https://phabricator.services.mozilla.com/D11821

--HG--
extra : moz-landing-system : lando
2018-11-19 16:03:43 +00:00
Agi Sferro
b707132e54 Bug 1506267 - Add plugins.gradle.com to Nexus. r=nalexander.
Differential Revision: https://phabricator.services.mozilla.com/D12047

--HG--
extra : moz-landing-system : lando
2018-11-19 16:03:33 +00:00
Cosmin Sabou
b3241c824a Backed out 3 changesets (bug 1506267) for apilint build bustage. CLOSED TREE
Backed out changeset 7a53f4ea811b (bug 1506267)
Backed out changeset 5d1c5593fdf3 (bug 1506267)
Backed out changeset 32e919db3735 (bug 1506267)
2018-11-17 00:54:14 +02:00
Agi Sferro
4df8cf48ad Bug 1506267 - Use apilint to track API changes in api.txt. r=snorp,nalexander.
Depends on D12047

Differential Revision: https://phabricator.services.mozilla.com/D11821

--HG--
extra : moz-landing-system : lando
2018-11-16 20:27:14 +00:00
Agi Sferro
f4ce1f73cf Bug 1506267 - Add plugins.gradle.com to Nexus. r=nalexander.
Differential Revision: https://phabricator.services.mozilla.com/D12047

--HG--
extra : moz-landing-system : lando
2018-11-16 22:21:28 +00:00
Jan Henning
93115a878a Bug 1485439 - Upgrade to Java 8. r=nalexander,jchen
Doing so allow to use try-with-resources on all API levels supported by us, not
just starting from API19.

Unfortunately this step also introduces some additional ambiguities in overload
resolution, which means that one of GeckoResult's "then" overloads needs to be
renamed.

Differential Revision: https://phabricator.services.mozilla.com/D4887

--HG--
extra : rebase_source : 7173395484a9616ce739e9d2ba3aa0b8410be386
extra : source : 66955d05bb86c25b1fcb81d60b38be95018d09ca
2018-08-22 21:15:42 +02:00
Jan Henning
449ca95bae Bug 1485439 - Pre: Upgrade Android Gradle plugin. r=nalexander
While extended Java 8 support, especially on older API levels, was already
introduced in v3.0 and we're currently on 3.1.0, we still take the opportunity
to upgrade to the latest plugin version just to be safe.

--HG--
extra : rebase_source : edf81582552439a139a6a978039f4638e161bf99
extra : source : 1f151d5b8992665c3da17f81e89f6e053473cea8
2018-09-04 22:33:00 +02:00
James Willcox
e641866f27 Bug 1480920 - Bump versions for Android test runner packages r=jchen
This also removes the trivial tests for geckoview_example that were
causing problems.

Differential Revision: https://phabricator.services.mozilla.com/D3991

--HG--
extra : moz-landing-system : lando
2018-08-23 13:12:20 +00:00
arthur.iakab
dfb7a82313 Backed out changeset d3978309484a (bug 1480920) For Android build bustages CLOSED TREE 2018-08-09 23:59:05 +03:00