Commit Graph

969 Commits

Author SHA1 Message Date
Sebastian Kaspari
38f5ea7b19 Bug 1276696 - Add custom tabs support library. r=mcomella
MozReview-Commit-ID: LXie1GiV4gV

--HG--
extra : rebase_source : 7316ebbe6512db64364c0a4f450e0758f79fcc5c
2016-06-10 11:01:11 +02:00
Michael Comella
6aa25533cb Bug 1278008 - Add all_jars to annotation processing classpath. r=sebastian
Because I don't know much about the build system, this may not be an optimal
fix. See the added code comments for more details.

Since this is an annotation processor and they tend to be self-analyzing, my
one concern is that this code uses the classpath in some way to identify which
files need to be kept. That being said:
 1) I don't think it makes sense to use the classpath in this way, particularly
when the files we want to operate on are passed as a command line argument.
 2) My build did not warn me that the generated JNI wrappers have changed so I
expect no side effects from this change.

MozReview-Commit-ID: 5mm6TClO1Su

--HG--
extra : rebase_source : c1ae4f0e9972f9efd8d6593fcbf27a500a6e0b63
2016-06-06 10:30:21 -07:00
Sebastian Kaspari
65248e9ba7 Bug 1247047 - Remove play-services-{analytics,appindexing}, no longer required by play-services-ads 8.4.0. r=ahunt
MozReview-Commit-ID: KowZ2gjzs8a

--HG--
extra : rebase_source : f639ad1107a7723cf3d7a4dcbeb7b3b64fda9504
2016-05-23 17:56:05 +02:00
Sebastian Kaspari
586f1b35ad Bug 1247047 - Add play-services-measurement, required by play-services-gcm 8.4.0. r=ahunt
MozReview-Commit-ID: 4T65x2u3LmZ

--HG--
extra : rebase_source : f0f78a031da64a8ec638e08c8f50f611930190e9
2016-05-23 17:51:27 +02:00
Chris Manchester
44e4ff1fb6 Bug 1275721 - Remove --enable-android-resource-constrained. r=mshal
MozReview-Commit-ID: DqL0KCkbj9r

--HG--
extra : rebase_source : 18ed93ef68ecdfbd85fb4c13c39283932c38290c
2016-05-26 11:13:58 -07:00
Andrzej Hunt
1aec36f857 Bug 1271428 - Pre: add cardview support library r=sebastian
MozReview-Commit-ID: 3rOJRnv1ujO

--HG--
extra : rebase_source : ddd199820174110bafdcf625a6bf9a359290e0ea
2016-05-09 14:05:21 -07:00
Nick Alexander
ec8debfd7f Bug 1261742 - Fix l10n single locale repacks by correcting dependency. r=mshal
MozReview-Commit-ID: IJaM2SoyxTK

--HG--
extra : rebase_source : 1b1ceb13c71bc836c2460e92ff6c637f95fd7d39
extra : amend_source : bac8deed39884ca4f386cc8193df58c330f01346
2016-04-04 13:25:43 -07:00
Mike Shal
b9c1391091 Bug 1259555 - Remove many PP_TARGETS / INSTALL_TARGETS from mobile/android; r=nalexander
The remaining android PP_TARGETS are for l10n or require support for
passing flags to the preprocessor (bug 1259530).


MozReview-Commit-ID: InnQF3e0DZ1
2016-03-23 15:14:12 -04:00
Nick Alexander
9f1aa81bb1 Bug 969925 - Remove fennec_ids.txt from the build system. r=gbrown
The only consumers are in ash-mozharness, which is just out of date:

http://mxr.mozilla.org/build/search?string=fennec_ids&find=&findi=&filter=%5E%5B%5E%5C0%5D*%24&hitlimit=&tree=build

MozReview-Commit-ID: CQHmKOEUDj1

--HG--
extra : rebase_source : 9aaa83ea41b556b59968bda1f53d5bf13e3e33b2
extra : histedit_source : cc63745f29357a9fec7c014a024918db528ae40e
2016-03-24 13:48:12 -07:00
Nick Alexander
b8262556d1 Bug 1249166 - Pre: Fix Android front-end TreeHerder details; force --no-daemon and --offline in automation. r=me
Setting GRADLE_USER_HOME in this way ensures all Gradle invocations in
automation have the right flags, rather than just the ones we
remember.

MozReview-Commit-ID: IL53nZVsFuV

--HG--
extra : rebase_source : dafc3c19e75e067481603b6f80692fcea0141b67
2016-02-23 23:55:56 -08:00
Nick Alexander
8dcc601b5e Bug 1248160 - Part 2: Inline MOZ_ANDROID_SHARED_FXACCOUNT_TYPE. r=ted.mielczarek
This is per-package, so there's no cross-package definition needed.

MozReview-Commit-ID: 8qy2SGJtCh1

--HG--
extra : rebase_source : 5e3cb1959ac560137487d5d0c12002820212aed7
extra : histedit_source : ac2404805e7afc2776c02414ab464d24d3057063
2016-02-13 10:13:10 -08:00
Nick Alexander
a369f9a410 Bug 1248160 - Part 1: Remove MOZ_ANDROID_SHARED_ACCOUNT_TYPE. r=ted.mielczarek
This is cleaning up after Bug 1220906, which removed Old Sync.

MozReview-Commit-ID: EmP4RTMIZ9

--HG--
extra : rebase_source : d97e09ca50dbd2c214c0618d50b7418378697dde
extra : histedit_source : 5148e7d8f5c8f10c36f1fa319ac04fea28432450
2016-02-13 10:00:58 -08:00
Nick Alexander
6795b38022 Bug 1248092 - Replace preprocessor -I with CONFIGURE_SUBST_FILES. r=glandium
MozReview-Commit-ID: IT4cHsAOMwd

--HG--
extra : rebase_source : 111c4d6a9f01b1c6a599084c85b5817bb7a54ebb
2016-02-12 16:27:24 -08:00
Nick Alexander
bc112329f3 Bug 1119520 - Add opt-in Gradle build mode for mobile/android. r=gps
Opt-in by adding --enable-gradle-mobile-android-builds.

Gradle dependencies (including the Android-Gradle plugin) are assumed
to be present.  Local developers will fetch them from the jcentral
repository.

Android-specific Maven dependencies are shipped as "extras" with the
Android SDK, and should be found automatically by the Android-Gradle
plugin.

MozReview-Commit-ID: 966XgddWgEu

--HG--
extra : rebase_source : 8e8c6156e1d06813c250662e104fd14c621d91ab
extra : source : 306cf0271d3e3a344fcbfd2baf75e0450c288cf1
extra : histedit_source : d17446714236c408699a0953882e84ac3a192380%2Cc21b166af79ef1e00215748820bc2670405ac1dc
2016-02-12 10:06:40 -08:00
Mike Hommey
fd36539df9 Bug 1246881 - Generate a header defining MOZ_BUILDID. r=mshal 2016-02-12 07:15:55 +09:00
Carsten "Tomcat" Book
b8f6140f54 merge mozilla-inbound to mozilla-central a=merge 2016-02-10 11:47:34 +01:00
Michael Comella
c48a870a5f Bug 1233238 - Compile with play-services-{ads,analytics,appindexing} to support Adjust SDK. r=nalexander
On a CLOSED TREE because this is Android only.

When we switched to fine-grained Google Play Services bundling (Bug
1115004), we stopped shipping com.google.android.gms.analytics.  That
silently breaks Adjust, which queries the Google Ad ID using
reflection: now the package isn't present!  This patch restores the
Play Services libraries that Adjust relies on.  (Sadly, this bloats
our APK tremendously.)

There is some hijinkery, however: the Play Services libraries
reference a library (org.apache.http) that is deprecated in Android
23!  However, the library is still present on Android 23 devices,
which buys Google time to replace the offending code.  This compiles
just fine, breaks the Proguard global optimization pass.  To give
Proguard the information, we add the library as a Proguard "library
JAR".  This is equivalent to the Google-provided Gradle `useLibrary`
directive.

--HG--
extra : commitid : I4rTyC8lxLd
extra : rebase_source : 96f30d735e898cb9853d53f236ac8e2337186814
extra : amend_source : 3e4d68789b3ef980e4e1d7f743e332bdbb6be176
2016-02-04 16:10:29 -08:00
Nick Alexander
8c29d35e3b Backed out changeset 10dfe5e3ded1 (bug 1242213)
--HG--
extra : commitid : 3a9EiYA0XUv
extra : rebase_source : 06fe172b8e3d467d8f532581da305e0f85eb9f75
2016-02-05 16:35:45 -08:00
Mike Hommey
5554e09add Bug 1246874 - Unify GRE_BUILDID and MOZ_APP_BUILDID at the build system level. r=mshal 2016-02-10 07:39:30 +09:00
Nick Alexander
86bae89ef2 Bug 1242213 - Part 3: Use android:packageName="org.mozilla.gecko" and --rename-manifest-package. r=mfinkle
ON A CLOSED TREE

I have manually verified that this results in a byte-identical
gecko.ap_.  This is because after the earlier patches there are no
definitions (or aliases) that are package-local (like .App or
.Webapp), which are the only things (other than the Android package
name) that get rewritten by --rename-manifest-package.

--HG--
extra : commitid : FnCIDrEcNBw
extra : rebase_source : 199968a4064cb8548b303d03a04b4ef05f8a284a
extra : amend_source : 13712c2736c1da47e7e4a277cb25a3c341775ad1
extra : histedit_source : e04d99b417297a1933bf71b4cf315e8c99c4d4b3
2016-01-24 22:00:30 -08:00
Jim Chen
10166a711a Bug 1238761 - Switch NativePanZoomController to use native methods; r=rbarker
This patch turns NativePanZoomController's MotionEvent handler into a
native method, and it adds the WrapForJNI annotations to all native
methods so that bindings will be automatically generated for them.
2016-01-15 13:05:44 -05:00
Mike Hommey
c2d36c7522 Bug 1235676 - Replace $(abspath $(DIST)) with $(ABS_DIST). r=mshal 2015-12-31 08:10:02 +09:00
Nick Alexander
f9d1382e03 Bug 1231749 - Use |mach build faster| to see changes in toolkit/ in Gradle configuration. r=me f=vivek
DONTBUILD NPOTB

This also adds toolkit/ to the Gradle omnijar project.

--HG--
extra : commitid : 2xxf4DfPX1S
extra : rebase_source : f423d0dc72da32bed214c9aa88818b145f386b77
extra : histedit_source : f21b9fe9a4f48fcefb950b9b2275da4207c722b8
2015-12-09 23:48:07 -05:00
Nick Alexander
f78b6c3cc9 Bug 773050 - Build services.jar to consume in gecko-browser.jar. r=rnewman
--HG--
extra : commitid : HgwjXppO1Ac
extra : rebase_source : fc82bf82ae2464ac02dcd751a214e8a0a950385b
2015-10-26 14:19:35 -07:00
Nick Alexander
3323ad2cde Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Since MOZ_NATIVE_DEVICES builds against play-services-{basement,base,cast},
some ad-hoc de-duplication is necessary.

--HG--
extra : commitid : 2jNIgZpLUq2
extra : source : 0957d3435ac22765d7868cb3c7db1e0787836bc3
2015-10-27 17:41:49 -07:00
Sebastian Kaspari
579c312daa Bug 1189306 - Add Android Design Support library to gradle and mach builds. r=nalexander
--HG--
extra : commitid : J3JxjMlJdcC
extra : rebase_source : 8f4624bcf432201e345f75c834e08755c53766ad
2015-10-15 13:01:32 +02:00
Nick Alexander
b27086641f Bug 1208793 - Part 1: Fix gradle-targets dependencies. r=sebastian
We were both lazy and incomplete before.  Lazy because .aapt.deps is a
sentinel, and doesn't necessarily see relevant changes, due to
timestamps and deletions.  Incomplete because we never forced
generated Java code to be fresh.

--HG--
extra : commitid : JXLe9uWqjhN
extra : rebase_source : 8eaa2d012915ad59d5cd03d7e4a6552ae4db13c1
extra : histedit_source : 231ca7ad88e7965424a8c8a3e80dac68a32980a7
2015-10-19 17:01:26 -07:00
Reuben Morais
5fcd0fe0cf Bug 1213170 - Always generate JNI stubs for GeckoSmsManager. r=nalexander 2015-10-13 21:51:50 -03:00
Sebastian Kaspari
faf41dd8da Bug 1197147 - Mach build: Use version 8.1 of Google Play Services. r=nalexander
This patch also adds the new base (sic) library play-services-basement.

Note that the package names have changed too:
* play-services-base: com.google.gms -> com.google.gms.base
* play-services-basement: * -> com.google.gms

--HG--
extra : commitid : EcmxZA10rzV
extra : rebase_source : f39b361807a0b8227f3fb9a6d73e066241c8e36c
2015-10-05 14:59:53 +02:00
Sebastian Kaspari
03b4af6028 Bug 1208576 - Build with appcompat-v7 regardless of MOZ_NATIVE_DEVICES flag. r=nalexander
--HG--
extra : commitid : 5PmivDcq7NB
extra : rebase_source : 01f72d51d670e1cce51b96f2258300df42251485
2015-09-28 12:10:42 +02:00
Nick Alexander
416f8c64aa Bug 1108782 - Part 2: Explode AAR files at configure time. r=glandium
This gets us a limited version of AAR support: we can consume static
AAR libraries, where here static does not refer to linking, but to
static assets that are fixed at build-backend time and not modified
(or produced) during the build.  This lets us pin our dependencies
(and move to Google's versioned Maven repository packages, away from
Google's unversioned ad-hoc packages).

By restricting to static AAR libraries, we avoid having to handle
truly complicated dependency trees, as changing parts of generated AAR
files require delicate rebuilding of the APKs (and internal libraries)
that depend on the AAR files.

It is possible that we will generate AARs in the tree at some time.
Right now, we don't do that, even for GeckoView: the AARs produced are
assembled as artifacts at package time and are intended for external
consumption.  We might want this for GeckoView and Fennec at some
time; we should consider using Gradle everywhere at that point.

The patch itself does the simplest possible thing (which has precedent
from Gradle and other build systems): it simply "explodes" the AAR
into the object directory and uses existing mechanisms to refer to the
exploded pieces.

AARs have both required and optional components.  Each component is
defined with an expected and required flag. If a component is expected
and not present, or not expected and is present, an error is raised.
If the component is expected and present, autoconf's ifelse() macro is
used to define the relevant AAR_* component variables.  If the
component is not expected and not present, no action is taken.  A
consuming build backend therefore can guard all AAR_* component
variables with just the top-level AAR variable.

Many AAR files have empty assets/ directories.  This patch doesn't
explode empty assets/ directories, protecting against trivial changes
to AAR files that don't impact the build.

There's a lot not to like in this approach, including:

* We need to manually reference internal AAR libs;
* I haven't separated the pinned version numbers out of configure.in.

However, it's closer to what we want than what we have!

--HG--
extra : commitid : 11kUhDAkCn5
extra : rebase_source : 2454c9842ab3296d53ca5fa394a5a962aa382c8d
extra : histedit_source : e2f97502d215016925e93500b8fd93f8b32fba3a
2015-09-22 10:04:26 -07:00
Nathan Toone
bc36c933d1 Bug 1203800 - Allow for specifying the ANDROID_VERSION_CODE to use; r=nalexander
This patch allows you to set MOZ_APP_ANDROID_VERSION_CODE in a branding's configure.sh to specify the exact android:versionCode to use in the final (main) APK.  It does *not* modify the android:versionCode used in any other APKs.

--HG--
extra : transplant_source : U%F31E%1AK%3BY%18e.%E8%BD%F3_0%04%C6%84%7B
2015-09-11 16:05:56 -06:00
Nick Alexander
7671929209 Bug 1196970 - Part 4: Copy omni.ja, native libraries, and asset libraries from dist/fennec manually. r=sebastian
This allows us to not require dist/fennec/* to exist in the object
directory at gradle-install time.  It gets us one small step closer to
being able to sit down to a fresh source tree and open a Fennec
project in IntelliJ.

--HG--
extra : commitid : KNnKth56I1L
extra : rebase_source : b4fae1033335760dd3d6d9b8b71ffb7bbb1a6906
extra : source : 7b5b6adc5ac69fd733f9937dd846c52bff36af0a
extra : histedit_source : cb05d3690f909db51cd6116cc80b070f62338001
2015-08-18 10:51:10 -07:00
Nick Alexander
600934bfac Bug 1196970 - Part 1: Fix some dependency paths. r=me
--HG--
extra : commitid : AcixmeCeASb
extra : rebase_source : c4659af6c45c8ce153cf47f9cb5df4229ae13e90
extra : source : 37f6f08a839dbc5f3c940dfd02e1537535ee129e
extra : histedit_source : da6d791c46f62cc5d73d8d650b94d5cee70b9cf7
2015-08-20 15:10:34 -07:00
Nick Alexander
ad27580b77 Bug 1195388 - Part 2: Add ANDROID_EXTRA_{PACKAGES,RES_DIRS} moz.build variables. r=gps
This moves a little bit more of mobile/android/base/Makefile.in into
moz.build, and gets closer to moving that aapt invocation into
java-build.mk.

There are no other extra package consumers in the tree.  (There should
be a new one shortly: b2gdroid.)

--HG--
extra : commitid : AaYqXYReOSX
extra : rebase_source : d41368ff0bd0736221fdc04ed8299b70c2488c8b
extra : histedit_source : 845efd5ba9f99f4e186c3a5c66affe69eac7fec7
2015-08-14 18:13:11 -07:00
Nick Alexander
967b54e12a Bug 1195388 - Pre: Clean GARBAGE and dependencies. r=gps
GARBAGE is set automatically by PP_TARGETS.

The fragment does not need to be preprocessed at all, since it is
itself included in a preprocessed file.  Including the fragment in
all_resources is therefore not needed, since it is just itself
included in a file.

--HG--
extra : commitid : Bcc3HOOnCRk
extra : rebase_source : f05854ca368b51e2e5ac9f1f17feda29a570cb5f
extra : histedit_source : 007f5d116f333fc1a537057a04507d3c327d6c60
2015-08-10 14:25:07 -07:00
Ryan VanderMeulen
efce95618e Merge fx-team to m-c. a=merge 2015-08-13 11:00:54 -04:00
Jim Chen
6ad20bb7d0 Bug 1191161 - Followup to fix wrong annotation classpath; r=nalexander
Because we switched annoations from gecko-mozglue.jar to constants.jar,
we should update the corresponding classpaths when processing
annotations during code autogeneration.

gecko-mozglue.jar is still needed during the javah step because
gecko-browser.jar has a dependency on
org.mozilla.gecko.mozglue.JNIObject.
2015-08-13 00:53:38 -04:00
Nick Alexander
61a6ae674e Bug 1160563 - Part 2: Make ANDROID_ASSETS_DIRS a moz.build variable. r=gps
We have had singular ANDROID_ASSETS_DIR in Makefile.in for a while.
Fennec itself does not use the existing Makefile.in Android code, for
complicated historical reasons.

This makes the existing variable moz.build-only; generalizes the
existing variable to an ordered list; and adds the equivalent use of
the new list to the Fennec build, with a simple example asset.

This patch also updates the packager to include assets packed into the
gecko.ap_.  Without the packager change, the assets/ directory in the
ap_ gets left out of the final apk.  This whole approach is totally
non-standard but is more or less required to support our single-locale
repack scheme.

--HG--
extra : commitid : 4EAh1UNGNWT
extra : rebase_source : 5e5b4c4a120c3b4cc776c9f9380ddd2f9b63587e
extra : source : 0ddce3eb833e6d6180a19928a9b45d5d12f1d7fa
2015-08-12 11:04:03 -07:00
Jim Chen
7706596d62 Bug 1186467 - Make NativeJSContainer and NativeJSObject extend JNIObject; r=snorp
JNIObject is the base class for any class that wish to use per-instance
native methods. It encapsulates the long native pointer that used to be
in NativeJSContainer.
2015-08-04 17:47:28 -04:00
Jim Chen
372ad94b3e Bug 1182641 - Use new autogenerated native methods for ANRReporter; r=snorp 2015-07-29 15:11:14 -04:00
Carsten "Tomcat" Book
4a67c881e4 merge mozilla-inbound to mozilla-central a=merge 2015-07-13 11:51:14 +02:00
Jim Chen
876ede193f Bug 1178850 - Copy generated natives header; r=nalexander
Copy the natives header from the objdir to the source directory,
along with the generated wrapper files from before.

The patch also removes saving the originals to .old files to avoid
producing untracked files in the source tree.
2015-07-10 23:41:36 -04:00
Nick Alexander
5a41a44863 Bug 1182579 - Compute Android version codes in Python. r=gps
I considered three ways to do this:

* one, as a Python script executed with $(shell);
* two, as a Python script that writes an include file for the preprocessor;
* three, as a function exposed to the moz.build sandbox.

I rejected two because it's both tied to the preprocessor, and awkward
to make handle the dependency on the buildid (in a file) and
additional build defines (in config.status).

I rejected three because I know of no precedent for this approach, and
it hides the dependency on the buildid.

One doesn't handle failures in the script gracefully, but neither did
the existing approach.  This patch is at least testable.

--HG--
extra : commitid : 8dfw1ri7qjr
extra : rebase_source : da0e5ec705e0ac4c795bd2d7892f73857a1699ac
2015-07-08 12:43:06 -07:00
Nick Alexander
2d04ca30ee Bug 1182579 - Pre: Remove unused MIN_CPU_VERSION. r=me
We migrated to use MOZ_MIN_CPU_VERSION in moz.build some time back.

--HG--
extra : commitid : GoBGHdceR8r
extra : rebase_source : 8b9d82ec76459154296598610f71b1ea5fdae372
2015-07-08 12:08:31 -07:00
Nick Alexander
69feff025e Bug 1182579 - Pre: Remove unused UA_BUILDID. r=me
--HG--
extra : commitid : 3UpDYQegl1b
extra : rebase_source : 246cb1b05c26337e57fe7dba2645aa422523d41c
2015-07-07 16:55:48 -07:00
Ryan VanderMeulen
dc954fae3a Merge m-c to inbound. a=merge
CLOSED TREE
2015-07-09 13:52:22 -04:00
Martyn Haigh
472e082735 Bug 1181124 - Remove mdpi folder from CONSTRAINED_AAPT_CONFIGURATIONS in Makefile.in r=nalexander
--HG--
extra : commitid : HybZqiNAnRO
extra : rebase_source : fa88d8de028c877546171a7a81f35dfb640fcf40
2015-07-07 17:35:09 +01:00
Dustin J. Mitchell
82affbd482 Bug 1161075: build android with JDK from tooltool; r=nalexander
--HG--
extra : commitid : KiuOv4xzgiH
extra : rebase_source : 8a8e2438882d3e26581c1f375a3508da01657f04
2015-06-30 11:18:01 -04:00
Wes Kocher
027fd9354a Backed out 5 changesets (bug 1178850) for android build bustage CLOSED TREE
Backed out changeset 79085d3894e8 (bug 1178850)
Backed out changeset c02b603104ea (bug 1178850)
Backed out changeset d6dab7810669 (bug 1178850)
Backed out changeset 8ee5809f349b (bug 1178850)
Backed out changeset 821b22ce79e1 (bug 1178850)
2015-07-10 14:17:53 -07:00