Commit Graph

54 Commits

Author SHA1 Message Date
Nick Alexander
b4b941fa98 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!
2015-09-22 10:04:26 -07:00
Nick Alexander
54c3e9fe77 Bug 1108782 - Part 1: straighten out Java classpaths. r=glandium
This commit is us getting out of our own way.  We were specifying
-classpath twice, once in $(JAVAC) and once in java-build.mk.  Only
the latter of these is active.  This a problem for ANDROID_EXTRA_JARS
-- those JARs should be on the classpath and input to $(DX) -- and
JARs that should be on the classpath but *not* input to $(DX).  This
commit removes the global flags to $(JAVAC) and adds
JAVA_{BOOT}CLASSPATH_JARS.  This required some hijinkery moving
wildcards to moz.build files, but everything seems to work.

As well as clarifying some parts of the build, part 2 uses this work
to modify the classpath.
2015-08-31 13:35:05 -07:00
Ahmed Khalil
a8b691d21e Bug 1180287 - Hide client records that are likely to be duplicates or stale. r=rnewman 2015-08-26 11:16:00 -04:00
Nick Alexander
c1c9a1046e Bug 1195388 - Part 1: Make ANDROID_APK_{NAME,PACKAGE} moz.build variables. r=gps
This paves the way for defining additional Android packages in
moz.build, which is a step toward moving the special
mobile/android/base/Makefile.in aapt invocations into the generic
java-build.mk framework.

The new variables are both passthru variables for now: in the future,
we'll roll them into some aggregate Android APK definition.

It's worth noting that references to the variables in Makefile.in
files are only defined after including rules.mk (and thereby
backend.mk).  This only required a few changes in the tree but it
confused me for some time.
2015-08-19 12:34:58 -07:00
Mark Capella
9d8fdf3a34 Bug 1174922 - NativeZip does not null-terminate zip entry comparisons correctly, r=nchen 2015-07-29 01:03:26 -04:00
Nick Alexander
1295d66eb8 Bug 1168407 - Pre: Add GeckoJarReader.extractStream. r=rnewman
The use case is to ship a classes.dex file in a Gecko add-on.  This
makes it easy to extract such a file from an add-on to a temporary
location.  (Sadly, the Android Dex loading classes expect files, not
streams.)
2015-06-15 16:21:55 -07:00
Ahmed Khalil
0cfc0b1786 Bug 1159020 - Move share overlay's access to sync to TabsProvider, r=nalexander
This includes a JUnit 3 test (not yet run in automation) to test this
functionality.
2015-05-28 14:39:16 -07:00
Jim Chen
1ee3d9ea63 Bug 1166309 - Make GeckoJarReader load mozglue if necessary; r=mfinkle r=rnewman 2015-06-10 00:25:01 -04:00
Nick Alexander
5052022dd9 Bug 1171566 - Part 2: Remove BrowserTestCase. rs=mcomella
This was just a remnant from earlier days.  This launched the Fennec
activity, which is absolutely *not* something we want to do during
these browser JUnit 3 tests.  That is, these should be pure
instrumentation tests that just run Java code in the correct package
and Java classloader context.  They shouldn't interact with the App
lifecycle at all.

Not all the tests pass; I took a shot at fixing one but don't care to
dig deeply right now.
2015-06-04 10:41:48 -07:00
Nick Alexander
1ddef16476 Bug 1171566 - Part 1: Configure Gradle and Spoon. rs=mcomella
There are few things happening here:

* A purely mechanical move of test sources into org.mozilla.test.browser.junit3.
  This is only to make it easy to specify the suite in Spoon.  (But it has the
  advantage of making it possible to move files around in IntelliJ, since the
  symlink points to src instead of org/mozilla/gecko.)

* Specifying the suite (package name) ended up requiring changes to the
  spoon-gradle-plugin anyway.  Hence, I've included this custom
  spoon-gradle-plugin version locally, while I work to upstream the changes.

* Some Gradle trickery to make |mach gradle runBrowserTests| execute Spoon with
  the correct package name.
2015-06-04 12:09:23 -07:00
Nathan Toone
55b9d2c2a4 Bug 1161195 - Part 2: Rename variables. r=nalexander
Rename variables to be consistent with the name used in confvars.sh.
2015-05-05 20:11:15 -06:00
Michael Comella
6ac4bec05c Bug 1150974 - Run trimage on all png assets in mobile/. r=rnewman
The command I ran was:
  for i in `find mobile -name "*.png" | sed "s/\(.*\)\/.*\.png/\1/" | sort | uniq`; do trimage -d ${i}; done
2015-04-03 11:26:06 -07:00
Richard Newman
b708878fb3 Bug 1109000 - Split statics out of BrowserLocaleManager. r=nalexander, a=java-only on a CLOSED TREE 2014-12-09 18:07:07 +00:00
Brian Nicholson
b4a507ad61 Bug 1076438 - Add tracking ID to SuggestedSites API. r=lucasr 2014-10-02 09:48:50 -07:00
Brian Nicholson
553fa32c27 Bug 1076438 - Undo ID and imageurl/bgcolor cursor changes. r=lucasr 2014-10-02 09:48:50 -07:00
Jim Chen
de6f7fee98 Bug 1062377 - Add JUnit test for new GeckoBackgroundThread; r=rnewman 2014-09-30 18:19:26 -04:00
Nick Alexander
51a5d2dac0 Bug 1069648 - Add instrumentation manifests to moz.build. r=ted
These manifests are special in that they don't package their test files
into the test package.  Each test listed in an instrumentation manifest
serves as an identifier rather than a file.
2014-09-26 11:44:58 -07:00
Brian Nicholson
7eb937220d Bug 1071039 - Update TestSuggestedSites to check IDs. r=lucasr 2014-09-26 11:37:04 -07:00
Brian Nicholson
f3383bc3c6 Bug 1073257 - Get imageurl and bgcolor from cursor 2014-09-26 11:34:39 -07:00
Nick Alexander
d68d57b5bf Bug 1063028 - Change tests/browser/junit3 Java package root to be org.mozilla.gecko. r=rnewman 2014-09-08 12:58:33 -07:00
Lucas Rocha
3f0151bfb2 Bug 1012462 - Part 11: Support image loading for distribution files (r=rnewman) 2014-07-15 20:56:48 +01:00
Lucas Rocha
650502b68a Bug 1012462 - Part 5: Add distribution support in SuggestedSites (r=rnewman) 2014-07-15 20:54:27 +01:00
Lucas Rocha
52259ba9bf Bug 1012462 - Part 2: Add prefix argument to generateSites() in TestSuggestedSites (r=rnewman) 2014-07-15 20:54:26 +01:00
Lucas Rocha
cd60af70fa Bug 1037439 - Remove DISPLAY column from TopSitesCursorWrapper (r=rnewman) 2014-07-14 16:52:41 +01:00
Chris Kitching
c70a3c3308 Bug 1024289: Part 3: remove display column from combined view. r=rnewman 2014-07-07 14:52:37 -07:00
Richard Newman
5ad5ff9326 Bug 1013024 - Part 1: catch install intent and deliver it to the distribution handler, processing the distribution file dynamically. r=mfinkle 2014-07-03 19:45:24 -07:00
Hathibelagal A
6997365fe1 Bug 1027831 - Switch from deprecated FILL_PARENT to MATCH_PARENT in Java and XML. r=bnicholson 2014-06-20 09:21:31 -07:00
Chenxia Liu
7c66212933 Bug 1010266 - Part 2: Tests. r=lucasr 2014-06-12 12:07:09 -07:00
Lucas Rocha
44e498f383 Bug 1017574 - Force suggested sites refresh on locale changes (r=mfinkle) 2014-05-29 21:30:32 +01:00
Lucas Rocha
e91304d1af Bug 1009587 - Part 4: Use suggested thumbnail on top sites whenever it's available (r=mfinkle) 2014-05-29 13:04:36 +01:00
Lucas Rocha
557bc17c68 Bug 1009587 - Part 2: Add SuggestedSites API to get image URL and bg color (r=mfinkle) 2014-05-29 13:04:35 +01:00
Lucas Rocha
0c82772bd5 Bug 1016949 - Add unit test for enabling/disabling suggested sites (r=mfinkle) 2014-05-29 13:04:35 +01:00
Lucas Rocha
b9705696c3 Bug 997888 - Add API to exclude URLs from suggested sites (r=mfinkle) 2014-05-13 16:33:19 +01:00
Lucas Rocha
af1b4a1003 Bug 997782 - Wrap suggested sites in TopSitesCursorWrapper (r=mfinkle) 2014-05-09 16:34:54 +01:00
Lucas Rocha
a33c753a67 Bug 997772 - Introduce SuggestedSites component (r=mfinkle) 2014-05-09 09:39:14 +01:00
Lucas Rocha
de9c767617 Bug 996657 - Streamline schema for TopSitesCursorWrapper (r=wesj) 2014-05-07 12:01:19 +01:00
Lucas Rocha
2183ab3103 Bug 996657 - Store pinned sites cursor and fetch values from it (r=wesj) 2014-05-07 12:01:18 +01:00
Lucas Rocha
962f89716e Bug 996657 - Change TopSitesCursorWrapper to be a Cursor (r=wesj) 2014-05-07 12:01:18 +01:00
Lucas Rocha
2896d6aed9 Bug 999398 - Rename RawResource.get() to RawResource.getAsString() (r=nalexander) 2014-04-22 17:45:51 +01:00
Lucas Rocha
ac2c6c7f42 Bug 994195 - Add tests for RawResource (r=margaret) 2014-04-22 14:53:59 +01:00
Lucas Rocha
c3bd1f1740 Bug 993970 - Add tests for TopSitesCursorWrapper (r=wesj) 2014-04-15 16:31:56 +01:00
Richard Newman
5e972bb73f Bug 970176 - Part 0: remove AppConstants dependency on .App by moving things to TestConstants. r=nalexander 2014-04-10 10:09:34 -07:00
Nick Alexander
e37ab3707b Bug 990116 - Part 3: Use BROWSER_INTENT_CLASS in browser JUnit 3 tests. r=mcomella 2014-04-01 22:00:46 -07:00
Lucas Rocha
aa31f389ef Bug 940575 - Implement scopes for SharedPreferences (r=rnewman) 2014-04-01 15:02:14 +01:00
Brad Lassey
05bbcf1493 bug 979438 - Unify android target SDK versions r=nalexander 2014-03-25 23:27:16 -04:00
Richard Newman
6934d18663 Bug 975838 - Part 2: JUnit3 test that a GeckoMenu call will fail on the wrong thread. r=wesj 2014-03-17 19:39:40 -07:00
Richard Newman
01022df696 Bug 980187 - Content provider for Fennec profiles. r=nalexander 2014-03-18 19:20:07 -07:00
Richard Newman
4a88534600 Backed out changeset 6f60d60ea58d for having the wrong bug number. 2014-03-18 19:21:49 -07:00
Richard Newman
ffd3ad690f Bug 707123 - Part 2: content provider for Fennec profiles. r=nalexander 2014-03-18 19:20:07 -07:00
Nick Alexander
87d4a16145 Bug 979064 - Declare JUnit 3 instrumentation test applications debuggable. r=rnewman
I also took the opportunity to move a constant into
AndroidManifest.xml.in; it removes a layer of indirection when trying to
determine what Android package gets built.
2014-03-04 09:34:35 -08:00