Граф коммитов

160 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander e5289052b2 Bug 1792258 - Post: Make it easier to test (Android) multi-locale packages. r=geckoview-reviewers,m_kato
This commit updates the outdated documentation for producing multi-locale
packages, and also arranges for Android multi-locale packages to produce a
GeckoViewExample binary that has `libs` and `assets/omni.ja`.  Together, these
greatly ease multi-locale testing.

Differential Revision: https://phabricator.services.mozilla.com/D160705
2022-11-03 21:36:26 +00:00
Ryan VanderMeulen 998208305e Bug 1786164 - Add more Gradle JVM memory flags. r=geckoview-reviewers,jonalmeida
See https://github.com/mozilla-mobile/fenix/pull/26542 for more discussion.
Also specify a lower maximum heap size more in line with other projects and
remove some redundant settings in other gradle.properties files.

Differential Revision: https://phabricator.services.mozilla.com/D155179
2022-08-31 22:10:39 +00:00
Nick Alexander 41f65544f9 Bug 1707719 - Avoid `groovy.lang.MissingMethodException ... getFileNames()`. r=geckoview-reviewers,agi
The exact error is
```
groovy.lang.MissingMethodException: No signature of method: groovy.util.FileNameFinder.getFileNames() is applicable for argument types: (File, String)
```

Differential Revision: https://phabricator.services.mozilla.com/D140689
2022-03-10 03:27:05 +00:00
Agi Sferro 24fb67bde3 Bug 1749693 - Include libraries in artifact builds. r=calu,jonalmeida
In Bug 1724480, a change was made to not sync libraries if there is no compile
environment.

This change did not account for artifact builds, for which there is no compile
environment but do have libraries anyway.

Differential Revision: https://phabricator.services.mozilla.com/D135721
2022-01-12 18:06:13 +00:00
Agi Sferro 024994e801 Bug 1724480 - Upgrade JDK to Java 17. r=glandium,ahal,calu
Differential Revision: https://phabricator.services.mozilla.com/D131972
2022-01-11 19:16:01 +00:00
Noemi Erli 88ea88a467 Backed out 2 changesets (bug 1724480) for causing Bug 1745152 and Bug 1745153 CLOSED TREE
Backed out changeset f988b79d58f4 (bug 1724480)
Backed out changeset 8a2fb9a2a3db (bug 1724480)
2021-12-09 18:58:02 +02:00
Agi Sferro 49ed81f7e0 Bug 1724480 - Upgrade JDK to Java 17. r=glandium,ahal,calu
Differential Revision: https://phabricator.services.mozilla.com/D131972
2021-12-08 23:55:53 +00:00
Agi Sferro 1f930e4253 Bug 1557796 - Custom mozconfig for gradle build. r=nalexander,owlish
This patch introduces a new local.settings field: mozilla-central.mozconfig.

This field can be used to set a custom mozconfig file for the gradle build (and
for Android Studio).

The environment variable MOZCONFIG will take precedence over what is defined in
local.settings to allow Gecko engineers to use multiple mozconfig files.

Co-Authored-By: Nick Alexander <nalexander@mozilla.com>

Differential Revision: https://phabricator.services.mozilla.com/D124830
2021-09-29 17:54:57 +00:00
Agi Sferro 44c6b0ba31 Bug 1728666 - Allow building artifact builds without the NDK. r=nalexander
Looks like the new gradle version throws an exception now.

Differential Revision: https://phabricator.services.mozilla.com/D124258
2021-09-01 21:59:41 +00:00
Agi Sferro 5675e00bd6 Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander,owlish
This is the last version that doesn't require Java 11, we will upgrade to
Gradle 7 once all components are ready (namely, apilint).

Co-authored-by: Jan-Erik Rediger <janerik@fnordig.de>

Differential Revision: https://phabricator.services.mozilla.com/D123569
2021-08-31 20:53:09 +00:00
Agi Sferro 8b804e3125 Bug 1727438 - Increase java max heap to 32G. r=nalexander,owlish
Looks like 6G is not enough for an ASAN build when updating the gradle version.
I tried 8G and 16G on try but that's not enough either.

This also:

* Moves the asan job to `b-linux-large` as the `b-linux` builder does not have
  enough memory to run this build.
* Stops running a full build during lints, which is not necessary (and
  sometimes uses more memory than the build runner has, failing the lint).

Differential Revision: https://phabricator.services.mozilla.com/D123970
2021-08-31 20:53:08 +00:00
Cosmin Sabou c9893d3d5f Backed out 5 changesets (bug 1727438) for causing android build bustages. CLOSED TREE
Backed out changeset 66bad7f53820 (bug 1727438)
Backed out changeset e015a4e8b62e (bug 1727438)
Backed out changeset 97a06ad4cbcc (bug 1727438)
Backed out changeset ebb080f68880 (bug 1727438)
Backed out changeset 8d03d49fe3a3 (bug 1727438)
2021-08-31 00:11:19 +03:00
Agi Sferro 78ae1c7c9b Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander,owlish
This is the last version that doesn't require Java 11, we will upgrade to
Gradle 7 once all components are ready (namely, apilint).

Co-authored-by: Jan-Erik Rediger <janerik@fnordig.de>

Differential Revision: https://phabricator.services.mozilla.com/D123569
2021-08-30 19:15:10 +00:00
Agi Sferro d15794b08e Bug 1727438 - Increase java max heap to 16G. r=nalexander
Looks like 6G is not enough for an ASAN build when updating the gradle version.
I tried 8G on try but that's not enough either.

Differential Revision: https://phabricator.services.mozilla.com/D123970
2021-08-30 19:15:10 +00:00
Butkovits Atila e42d7aa018 Backed out 5 changesets (bug 1727438, bug 1727577) for causing Android bustage. CLOSED TREE
Backed out changeset 552d8919435c (bug 1727577)
Backed out changeset 59d1a463178b (bug 1727438)
Backed out changeset 8cba5f574196 (bug 1727438)
Backed out changeset 00d32a3af979 (bug 1727438)
Backed out changeset efda82445d85 (bug 1727438)
2021-08-26 03:33:58 +03:00
Agi Sferro 16fe3c1b74 Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander
This is the last version that doesn't require Java 11, we will upgrade to
Gradle 7 once all components are ready (namely, apilint).

Co-authored-by: Jan-Erik Rediger <janerik@fnordig.de>

Differential Revision: https://phabricator.services.mozilla.com/D123569
2021-08-25 21:02:17 +00:00
Agi Sferro 138f68156c Bug 1674180 - Use the llvm-readobj from the build instead of the NDK. r=nalexander
The llvm-readobj in the NDK is not part of the same toolchain that is used to
build Gecko, and in some cases this difference causes the build to fail (e.g.
local ASAN builds trip into this).

To fix this we use the llvm-readobj from the clang directory, when available.

Differential Revision: https://phabricator.services.mozilla.com/D104117
2021-02-05 00:07:22 +00:00
Georg Koppen ef16182aa2 Bug 1667948 - Don't break fat .aar creation if MOZ_ANDROID_FAT_AAR_ARCHITECTURES is set r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D92551
2020-10-06 16:13:36 +00:00
Nick Alexander d36eacb26b Bug 1661406 - Allow artifact builds without an NDK when working around Android-Gradle plugin bug substituting GeckoView. r=agi,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D88501
2020-08-28 16:51:52 +00:00
Nick Alexander 22467b70a7 Bug 1661158 - Include hash of JVM inputs when working around Android-Gradle plugin bug substituting GeckoView. r=agi,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D88220
2020-08-26 14:43:45 +00:00
Nick Alexander 851257343a Bug 1626336 - Remove `MOZ_GECKOVIEW_JAR`. r=agi,geckoview-reviewers
While we're here we remove some Gradle Fennec-isms that are no longer
needed.

Differential Revision: https://phabricator.services.mozilla.com/D87334
2020-08-24 18:13:49 +00:00
Nick Alexander 84b295af03 Bug 1627796 - Work around Android-Gradle plugin bug causing startup crash when substituting GeckoView. r=agi,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D87551
2020-08-24 17:13:54 +00:00
Nick Alexander 3c29ab9b09 Bug 1616704 - Make `./mach build binaries && ./mach run` pick up binary changes to `libxul.so`. r=geckoview-reviewers,agi
The Android-Gradle build plugin has evolved, as has GeckoView (it now
expects libraries in `libs/` instead of `assets/`), so we need to
ensure the libraries are copied into place at the right time.

To test this, you can use an artifact build.  Run `./mach build`, and
then binary edit a string in `$TOPOBJDIR/dist/bin/libxul.so` (I used
Emacs and `bbe` to do that).  Run `./mach android
build-geckoview_example`, and then verify the updated string has been
packaged, for example with something like:
```
unzip -c $TOPOBJDIR/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk lib/x86_64/libxul.so | strings | grep NEW 'STRING'
```

Coincidentally, this is essentially the same issue as
https://github.com/mozilla/application-services/issues/2659.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 18:43:09 +00:00
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
Jesse Schwartzentruber f45935703c Bug 1577814 - Increase Gradle heap size. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D44173

--HG--
extra : moz-landing-system : lando
2019-08-30 17:13:46 +00:00
Nick Alexander 6790ecb3a2 Bug 1550146 - Part 2: Make mach "build" run "stage-package && android assemble-app" for mobile/android. r=glandium
Android artifacts (GeckoView AARs, GeckoViewExample (and Fennec) APKs)
require native libraries (`libxul.so`) and an omnijar (`omni.ja`).
These are produced by `mach package` (really, the `stage-package`
target).  Engineers essentially never want a build without a package
for mobile/android.  This adds mobile/android-only tiers that run
`mach package` and then `mach android assemble-app`.  The latter
consumes `libxul.so` and `omni.ja` to produce _all the things_
relevant to GeckoView engineers.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 03:07:16 +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 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
Nick Alexander 5893476bdb Bug 1508976 - Produce a multi-architecture GeckoView "fat AAR". r=glandium
This follows the model set down for EME artifacts:

- a new tier is added that uses a new Python build action to fetch and
  artifacts
- the action unpacks the fetched artifacts and moves specific inputs
  into places expected by the build and packager
- in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts
  come from the correct tasks

In this case, the artifact fetching is done entirely in a new Python
build action that internally uses `mach artifact install --job ...`.
The action also verifies that the fetched artifacts are compatible and
that we're not assembling a fat AAR that is nonsensical.  The specific
inputs are not used in the Fennec APK that is produced; they're only
used in the GeckoView AAR that is produced.

The artifact fetching itself required tweaking to fetch only
`target.maven.zip` artifacts and to not unpack them.

The specific inputs used are the native libraries (libs/$ARCH/*.so)
and the architecture-specific preference files ($ARCH/greprefs.js and
defaults/pref/$ARCH/geckoview-prefs.js).  None of these inputs are
impacted by l10n.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 15:22:09 +00:00
Makoto Kato 2a4158c8eb Bug 1527796 - Part 4. Convert file separator to slash. r=nalexander
The file separator of Windows is backslash, not slash.  So we have to convert
it to slash if necessary.

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

--HG--
extra : rebase_source : 68db0c1fc2870a605aa3d9ed34163ba20bbe6f90
2019-03-29 16:04:06 +09:00
James Willcox 73c7980cb9 Bug 1536044 - Fully disable jacoco builds for Android r=agi
Differential Revision: https://phabricator.services.mozilla.com/D25216

--HG--
extra : moz-landing-system : lando
2019-03-28 20:26:45 +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
Jesse Schwartzentruber a359caba44 Bug 1527896 - Increase Gradle heaps to handle large assets. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D19792

--HG--
extra : moz-landing-system : lando
2019-02-14 18:21:13 +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
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 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
Nick Alexander 7fb85f7972 Bug 1509572 - Part 6: Don't always generate annotations from Gradle. r=snorp
Before, we always ran the "generate JNI wrappers" command and had the
command be smart about updating the output.  Now we move the smarts to
the Gradle side to streamline the build.

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

--HG--
extra : moz-landing-system : lando
2018-11-26 21:44:00 +00:00
Dorel Luca 508e50ac02 Backed out 6 changesets (bug 1509572) for linting failure. CLOSED TREE
Backed out changeset 9f6a7e664cef (bug 1509572)
Backed out changeset f6653c7d2967 (bug 1509572)
Backed out changeset 122d6f1a1136 (bug 1509572)
Backed out changeset bc6911d14ae0 (bug 1509572)
Backed out changeset bd0729ff0bbc (bug 1509572)
Backed out changeset c4087e8ea340 (bug 1509572)
2018-11-26 23:21:28 +02:00
Nick Alexander 08717a6883 Bug 1509572 - Part 6: Don't always generate annotations from Gradle. r=snorp
Before, we always ran the "generate JNI wrappers" command and had the
command be smart about updating the output.  Now we move the smarts to
the Gradle side to streamline the build.

Depends on D12794

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

--HG--
extra : moz-landing-system : lando
2018-11-26 21:02:52 +00:00
James Willcox 992335e0bf Bug 1486524 - Don't use XZ compression for libs on Android r=glandium,nalexander
This also uses idiomatic packaging of the native libraries, which
will allow easier downstream consumption of GeckoView.

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

--HG--
extra : moz-landing-system : lando
2018-11-23 20:31:57 +00:00
Cosmin Sabou 49e2a3a0cf Backed out changeset 1e076b0054cc (bug 1486524) for toolchains gradle bustages. CLOSED TREE 2018-11-21 18:01:10 +02:00
James Willcox 976e18d241 Bug 1486524 - Don't use XZ compression for libs on Android r=glandium,nalexander
This also uses idiomatic packaging of the native libraries, which
will allow easier downstream consumption of GeckoView.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 15:21:59 +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 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
Andreea Pavel 9351d666e7 Backed out changeset 2bc6db0a2574 (bug 1486524) android raptor failures ona CLOSED TREE 2018-11-14 23:04:59 +02:00