Commit Graph

984 Commits

Author SHA1 Message Date
Nick Alexander
c01c5a1e15 Bug 1291366 - Part 1: Use GENERATED_FILES to produce AppConstants.java. r=gps
This patch lays the groundwork for two things.  First, it paves the
way for splitting AppConstants.java into two parts, a GeckoView part
and a Fennec part.  This is necessary because the Makefile.in
preprocessing is not flexible enough to write two separate GeckoView
and Fennec constants files into different directories.

Second, this allows us to more flexibly generate the file contents.
Gradle has a way to get compile-time constants into Java code, which
we want to migrate to.  The details don't matter right here, but this
paves the way to move from preprocessing to generating the
Gradle-style BuildConfig files while we continue to support both build
systems.

MozReview-Commit-ID: 2o8X99uLoaM

--HG--
extra : rebase_source : 54164d685b9c2b1342b1acba2913ce07b906a7d6
2016-11-14 20:06:31 -08:00
Andrzej Hunt
ba8e43c22a Bug 1317880 - Move adjust and thirdparty jars into GECKOVIEW_JARS to fix annotation processing r=sebastian
GECKOVIEW_JARS contains two Adjust classes (within constants.jar). These depend on the rest of adjust,
which was previously within FENNEC_JARS. Without the remaining adjust jars being on the classpath during
annotation processing for GECKOVIEW_JARS, we are unable to correctly process those Adjust classes
(i.e. we get a NoClassDefFoundError).

The minimal fix is to process adjust as part of GECKOVIEW_JARS. Because adjust depends on HttpClientLib,
we also need to move the relevant jars into GECKOVIEW_JARS too (sync-thirparty contains HttpClientLib).

This will probably require further untangling, this is a minimal patch to allow beta to actually build.

MozReview-Commit-ID: DLtazTrg3hV

--HG--
extra : rebase_source : ce4ecd7941cb34a9f430ea3da906f7d67775c4d2
2016-11-16 15:30:16 +08:00
Randall Barker
5f5999162e Bug 1314466 - part 6, Add new files to build r=nalexander 2016-11-14 16:45:23 -08:00
Andrzej Hunt
0c4033a18b Bug 1311741 - Remove "--non-constant-id" from aapt invocations r=nalexander
This flag seems to no longer be needed, and prevents the use of switch statements for resource ID's. It was first introduced for mach based geckoview builds, however geckoview now seems to be built using gradle which is able to invoke aapt to produce better R.java's, resulting in constant Resource ID's in Fennec.

MozReview-Commit-ID: EjWCX4nvlht

--HG--
extra : rebase_source : 3eb30debbc76c39bd8e367bf8709eaaf1592f42a
2016-10-24 09:39:43 -07:00
Andrzej Hunt
3605a0c8df Bug 1309821 - Enable VectorDrawable support r=nalexander, sebastian
This allows us the use of VectorDrawable's (which can be created by converting SVG files) in a
limited set of circumstances.

MozReview-Commit-ID: 4n4dXnZYn9W

--HG--
extra : amend_source : 8fbf2579260590a26ecd0112d6fce1055e929bd7
2016-10-07 15:59:11 +02:00
Andrzej Hunt
e04f1b07d7 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 78648f60d13d662fd804cf004204389f5b2fc5a2
extra : source : 25e1ca9427995e770e8821b148e83bdab95521bd
2016-09-30 09:16:23 -07:00
Gregory Szorc
d0e135f5d1 Backed out changesets cc4bdd6afea0, abc52d4c5f87, and 25e1ca942799 (bug 1267884) for Android bustage
CLOSED TREE

--HG--
extra : amend_source : 1f0c7bbb5aa8a3dab38f0785e13e32f59e8f8c79
extra : histedit_source : ca99420cac7019a4b6fd6aab781b93151092a8bc%2C0ef091317a27688c734f20417875406726e35de7
2016-09-30 15:01:13 -07:00
Andrzej Hunt
04780a2df0 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 164b33c147fd57c63e00c82738eaa9d3b21c6800
2016-09-30 09:16:23 -07:00
Andrzej Hunt
4e3a9ee531 Bug 1306021 - Remove unneeded R.java copies to reduce field wastage r=nalexander
MozReview-Commit-ID: GHYCqzaMaGe

--HG--
extra : amend_source : bf65ed253bcc353c7fb77fa5029d85e862695491
2016-09-28 10:04:48 -07:00
Jim Chen
cabea0c515 Bug 1291375 - 3. Separate Fennec JNI binding generation; r=nalexander r=snorp
Separate compiled JARs into GECKOVIEW_JARS and FENNEC_JARS, and run
AnnotationProcessor separately on each set. The GeckoView bindings are
put into widget/android/GeneratedJNI* (same as before), while the
Fennec-specific bindings are put into widget/android/fennec/FennecJNI*.
2016-09-16 15:13:48 -04:00
Jim Chen
3965c7e895 Bug 1291375 - 1. Compile separate gecko-view.jar; r=nalexander
Compile geckoview sources into a separate gecko-view.jar file, apart
from gecko-browser.jar. This lets us separate JNI binding generation,
among other things.
2016-09-16 15:13:47 -04:00
Sebastian Kaspari
9b9a3bee93 Bug 1300569 - Add palette-v7 support library to build. r=ahunt
MozReview-Commit-ID: F29cOyHsd8B

--HG--
extra : rebase_source : 0c568158a20ae34687b135ce414ccfb5f710d228
2016-09-06 08:39:16 +02:00
Jim Chen
984436a532 Bug 1297807 - Remove old JNI stubs; r=snorp 2016-08-26 12:26:46 -04:00
John Lin
5c078510e7 Bug 1257777 - Part 1: AIDL interfaces for remote codec and manager service binders. r=nalexander
MozReview-Commit-ID: DAaJyWcyC0c

--HG--
extra : rebase_source : 95b82faa20a98801f6aaba424b263e8515f425fc
2016-08-05 15:28:04 +08:00
Nick Alexander
c6f2ef4d51 Bug 1268944 - Remove GeckoView packaging. r=chmanchester
The best kind of patch: bulk deletion.  This removes two separate but
similar build flags, and an unsupported integration piece.  The first
packaged Fennec's resources into an ill-defined GeckoView archive; the
second built on the first to produce an Android ARchive for external
consumption.  Neither of these artifacts are supported or have
consumers; in fact, they mislead potential consumers, since they're
known to be broken.  The Gradle build work under the --with-gradle
flag, and significant follow-up, is the path forward if Mozilla wants
to invest in packaging GeckoView on Android for external consumption.
That is, rather than hacking together AAR files, we'll use the
well-supported Gradle mechanisms for building and publishing such
libraries.

MozReview-Commit-ID: 4Z1jJ8z0cyJ

--HG--
extra : rebase_source : b8e65f39c286313fe8963bf3832d9b6977ef188f
2016-07-25 11:54:03 -07:00
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