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

28 Коммитов

Автор SHA1 Сообщение Дата
Ryan VanderMeulen a5652e5f76 Backed out changeset 7c44c0343564 (bug 1181020) for causing intermittent testAboutPage failures. 2015-07-16 15:11:20 -04:00
Jonathan Almeida 3fa7fc6821 Bug 1181020 - Update Robocop to latest version to support RecyclerView. r=mcomella
- Removed old robotium jar in replace for the newer one.
 - Newer robotium has packaging changes which were updated in all tests.
 - Updated in build.gradle and makefile.

--HG--
extra : transplant_source : %949%F2%F6%10v%9A%CA%8B%FD%EE%05%28%D8%1E%0D%09_%BE%D3
2015-07-07 14:18:56 -07:00
Sebastian Kaspari 6163a11444 Bug 1180605 - spoon-gradle-plugin: Set spoon runner dependency to 1.1.10. r=mhaigh
--HG--
extra : commitid : Kl030ouSZGu
extra : rebase_source : 4e00660e3a471edf69be724cb5de0382d2308a6b
2015-07-06 11:29:06 +02:00
Nick Alexander 81cc7b6f5a No bug - Reference topobjdir less in Gradle configuration. r=me
DONTBUILD NPOTB

--HG--
extra : commitid : 8VUgBD0oOSW
extra : rebase_source : 3523f477a372f3150bc63cbf95ba4d31cf103718
extra : histedit_source : fb6f44d9fd4b011ef2f0f5b3cf1c7683b3b55c35
2015-06-29 14:41:05 -07:00
Michael Comella c05e62bc19 Bug 1170884 - Disable IconColors lint warning. r=mhaigh
--HG--
extra : commitid : 1VNKMWAqUPd
extra : rebase_source : 7a1e134b9626ace7e49390404054021db52f2a41
2015-06-24 11:55:18 -07:00
Nick Alexander 41cd99af7b Bug 1168407 - Implement a bidirectional Java addon interface. f=jchen,r=rnewman,r=mfinkle
There are several parts to this ticket:

1) Produce javaaddons-1.0.jar, a standalone JAR defining a (versioned)
Java interface suitable for consumption by third-party Java addon
implementations.

2) Support the new V1 interface in the JavaAddonManager.

3) Add Robocop JavascriptTests testing the JavaScript message passing
interface to and from Java.

This patch can be read as "not in tests/" and "everything in tests/".

--HG--
rename : mobile/android/base/JavaAddonManager.java => mobile/android/base/javaaddons/JavaAddonManager.java
extra : commitid : ApOd0Iz9BrZ
extra : rebase_source : 9808487ec3b233f31524e3694d1e997af78a0c84
extra : histedit_source : c8883a01805d7ed39ffb58e8523103260aa72d0b
2015-06-17 21:47:29 -07:00
Sebastian Kaspari 1e85c546d0 Bug 1171288 - Add ability to build with RecyclerView support library. r=nalexander
--HG--
extra : rebase_source : 781c82348e9ea08183aa8560532ffb63222f8f8d
2015-06-16 19:52:44 +02:00
Michael Comella 9c04673e97 Bug 1172201 - Set Android support library to 22.2.0 in config. r=me
This corrects the GradleDynamicVersion lint warning.

--HG--
extra : rebase_source : 622f43175e2489a5b1747009fb11a29ed09e786c
2015-06-08 09:15:10 -07:00
Michael Comella f7a3ce70a7 Bug 1165422 - Upgrade gradle support libraries to 22. r=me
Forgot to land this as part of the original, and next, changes.
2015-06-05 18:19:43 -07:00
Michael Comella f3a1178b31 Bug 1165422 - Upgrade gradle targetSdk to 22. r=me
Forgot to land this as part of the original changes - this should allow
successful compiling in Intellij.
2015-06-05 17:36:39 -07:00
Nick Alexander 3f6c59b27c 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.

--HG--
rename : mobile/android/tests/browser/junit3/src/BrowserTestCase.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/BrowserTestCase.java
rename : mobile/android/tests/browser/junit3/src/TestDistribution.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestDistribution.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoBackgroundThread.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoBackgroundThread.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoMenu.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoMenu.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoProfilesProvider.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoProfilesProvider.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoSharedPrefs.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoSharedPrefs.java
rename : mobile/android/tests/browser/junit3/src/TestImageDownloader.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestImageDownloader.java
rename : mobile/android/tests/browser/junit3/src/TestJarReader.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestJarReader.java
rename : mobile/android/tests/browser/junit3/src/TestRawResource.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestRawResource.java
rename : mobile/android/tests/browser/junit3/src/TestSuggestedSites.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestSuggestedSites.java
rename : mobile/android/tests/browser/junit3/src/TestTopSitesCursorWrapper.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestTopSitesCursorWrapper.java
rename : mobile/android/tests/browser/junit3/src/harness/BrowserInstrumentationTestRunner.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/harness/BrowserInstrumentationTestRunner.java
rename : mobile/android/tests/browser/junit3/src/harness/BrowserTestListener.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/harness/BrowserTestListener.java
extra : rebase_source : 5eff7e0da0be912838fac0ddad5f6b357800eb45
extra : histedit_source : e76288628e14aeb155d2d3b4033d056c6efdc646
2015-06-04 12:09:23 -07:00
Michael Comella 337ad75e3d Bug 1165422 - Update gradle build tools versions to 22.0.1. r?nalexander
--HG--
extra : commitid : 8BxnctY7ma2
extra : rebase_source : 2f4b8a73b51602771769ffd5a044055a11e1e327
2015-06-03 21:04:27 -07:00
Michael Comella 2f9cdc52ae Bug 1170285 - Add lint.xml config file to base sub-project. r?nalexander
While it might seem like a good idea to disable all of the checks we don't
currently pass, Intellij uses the same lint configuration file as the
command-line invocation and so we'll be more likely to write in new errors by
disabling some checks.

--HG--
extra : commitid : 23gdgWSBmyt
extra : source : 7bd754d48b86b5104bc44067886af81c9315a3b6
2015-06-03 21:12:00 -07:00
Nick Alexander c5c780a826 No bug - Don't let Gradle incrementally dex. r=me
DONTBUILD NPOTB

Unfortunately, Gradle just can't handle incremental dexing in our
multi-project and parallel configuration.  I see the dreaded
"com.android.dex.DexException: Multiple dex files define ..." error
frequently.

I'm using a downloaded Robotium package instead of the in-tree JAR
file as well, 'cuz it seems to be related.

--HG--
extra : rebase_source : d95c0844082a6deb48966496cb90824f70f6c49d
extra : histedit_source : 2f3d231d9b7139880a924089ab0d523e5e31e6b6
2015-05-24 19:51:22 -07:00
Nick Alexander 711f72faeb Bug 1160357 - Share generateCodeAndResources across Gradle projects. r=me
This is just a clean-up: rather than having each subproject have a
generateCodeAndResources build action, we have a single action
(attached to the root project) which all subprojects depend on.
Gradle orders the task DAG accordingly, saving process invocations and
speeding up the build.

--HG--
extra : source : b44dc79fbddb1acc02da12e9926852e67d606584
extra : amend_source : b89249d8af2b7986ab1174f89c150ef8115c71cf
2015-03-31 17:46:48 -07:00
Mark Finkle 6dbb5ad52e Bug 1143888 - Integrate the Adjust install tracking SDK. r=mfinkle
--HG--
extra : rebase_source : d4a41c1193d93aa7774e68b302e9f9b13b5ec28c
2015-04-08 22:49:16 -07:00
Nick Alexander cf61b5d846 No bug - Make Gradle debug test APK look like Robocop. r=me
--HG--
extra : rebase_source : 996cf9f9e2460e19864a7b32bea8d1a1c162b0a1
extra : source : 5ffffd68e04193bc90768667a8f34f5904f531d6
2015-01-26 21:52:43 -08:00
Nick Alexander 177f286d2b Bug 1125330 - Expose |mach| output after failures invoking from Gradle. r=me,f=ally
--HG--
extra : rebase_source : 8d801f739f77640a587231404e22506f52342438
2015-01-27 21:41:14 -08:00
Nick Alexander 7b9cf79f10 Bug 1123013 - Set project SDK explicitly in Gradle configuration. r=me,f=mcomella
This is a sad, but necessary, loss of generality that will cause the
Gradle configuration to lag behind the rest of the build system over
time.  The existing Gradle build worked fine, but IDEA based IDEs can
not yet read build.gradle files containing arbitrary Groovy code.  I
can find no alternative to including the values in the build.gradle
file directly.  We will just try to keep them up to date.

The versions chosen (compileSdkVersion 21 and buildTools "21.1.1")
correspond to the current versions used on the buildbots.  Changing
compileSdkVersion to an integer absolutely requires Gradle-Android
plugin version 1.0.0 or higher, which in turn mandates IntelliJ
version 14.0.3 EAP or higher.

I took the opportunity to update some settings and bump dependency
versions from v19 to v21 as well.

--HG--
extra : rebase_source : 7ada8da4dec7bd56ca3d276d833788d895e12e25
2015-01-28 10:42:30 -08:00
Nick Alexander e171f23efb Bug 1121622 - Insert omnijar and libraries into debug APK only; Proguard release APK. r=me
DONTBUILD NPOTB

Local developers should only be building debug APKs.  I intend
automation to only build release APKs, and automation will insert the
omnijar and native libraries into the release APK during packaging.

This change requires local developers to delete
$OBJDIR/mobile/android/gradle/app/src/main/{assets,jniLibs}.

--HG--
extra : rebase_source : 455a098eae4586a3010576a4acfde250e8b5837b
2015-01-14 11:07:06 -08:00
Nick Alexander d1f80fc6ec Bug 1120032 - Use Android-Gradle plugin version 1.0.0 everywhere. r=me
DONTBUILD NPOTB

There are significant problems with the combination of Android-Gradle
0.14.4, Gradle 2.2.1, and IntelliJ 14.0.2.  The problems include
imports that have no recognized source directories and a quasi-working
debugger that fails to stop on breakpoints.

Rather than claim some support for this configuration, we'll move the
Android-Gradle plugin version forward.  This should support both
IntelliJ 14.0.3 (sadly still Early Access Preview only) and Android
Studio 1.0.0.

--HG--
extra : rebase_source : f2394bd65549cef3a2dafb1f83c8d405f0d00124
2015-01-14 11:11:00 -08:00
Nick Alexander 694a293c49 Bug 1115064 - Fix small errors and make Gradle integration work in Android Studio 1.0.2. r=me
The important change here is that we allow the Android-Gradle plugin
to be version 0.14.4 or version 1.0.0, which appears to work in
IntelliJ 14.0.2 and in Android Studio 1.0.2.

Testing feedback came from imjalpreet and garvank.

--HG--
extra : rebase_source : 2b93dd91603666f1c6a1d2fe0fa7721d5741bdda
2014-12-23 11:39:15 -08:00
Nick Alexander 4f3f4284e1 Bug 1098239 - Rewrite mobile/android Gradle integration. r=me
This is a big patch, but it's essentially NPOTB.  The part that is POTB
is ... removing Gradle integration from the build.  I've implemented
|mach gradle-install| as a substitute for the build system stuff; it's
just so much easier to iterate on a mach command than a moz.build and
Makefile.in.

I'm landing this with self-review because this lessens the impact of the
Gradle integration on the build system and because I am the only person
who understands either the old or the new system.

You'll need to run |mach gradle-install| at top level to configure the
new Gradle integration.  But |mach gradle ...| does the right thing
configuration steps too.

This patch rewrites most of the Gradle integration.  The major changes
are:

* all .gradle files move into mobile/android/gradle;
* all the Gradle projects live in the object directory;
* mozconfig exposed to all build.gradle files;
* simplification of Android configuration between build.gradle files;
* support for user-specified version of build tools;
* first steps towards supporting builds from the source directory;
* bumps Gradle to 2.2.1;
* bumps the Android-Gradle plugin to 0.14.4.

This is seemingly a step backwards given that we'd prefer to ship the
.idea directory in the source directory.  But in fact we get closer to
that; it's possible to run ./gradlew in the source directory and get a
reasonable build.  We'll progress with this in time.  The win right now
is that the projects are nested, which makes importing work better on
Linux machines.

Unfortunately IntelliJ 13 and 14 now have conflicting Android-Gradle
plugin version requirements, so we now only support IntelliJ 14.0.2 and
above.

--HG--
rename : mobile/android/base/gradle_AndroidManifest.xml => mobile/android/gradle/base/AndroidManifest.xml
rename : mobile/android/base/gradle_AndroidManifest.xml => mobile/android/gradle/branding/AndroidManifest.xml
rename : mobile/android/gradle/omnijar/gradle_AndroidManifest.xml => mobile/android/gradle/omnijar/AndroidManifest.xml
rename : mobile/android/base/gradle_AndroidManifest.xml => mobile/android/gradle/preprocessed_code/AndroidManifest.xml
rename : mobile/android/base/gradle_AndroidManifest.xml => mobile/android/gradle/preprocessed_resources/AndroidManifest.xml
rename : mobile/android/thirdparty/gradle_AndroidManifest.xml => mobile/android/gradle/thirdparty/AndroidManifest.xml
2014-12-22 19:49:04 -08:00
Nick Alexander 9414bc9e09 Bug 1104855 - Don't rebuild the omnijar on every Gradle build. rs=margaret
This ticket splits a new omnijar project off of base.  The new
project's omnijar task knows the inputs (well, those under
mobile/android) and the omni.ja output and only re-packages the
omnijar when the task's output is out of date.

With this modification, local building and most importantly the
Android JUnit test cycle is much improved, because the APK is not
re-deployed when only test code is modified.

In addition, the new project lists the omnijar inputs as "Java" source
directories.  Previously, they were listed as "Java resource" source
directories, which meant that the omnijar inputs were packaged into
the final APK.  This wasted time and space.

--HG--
extra : rebase_source : 12c94fdfbee9b7c319d5cfb4d7faad254e90abfc
2014-11-25 09:54:31 -08:00
Nick Alexander b547c04303 Backed out changeset 19fdbc7ad829 (bug 1098239)
--HG--
extra : rebase_source : e932299bc61e56e811e0187ddc65ab8b62b7a32b
2014-11-14 13:14:36 -08:00
Lucas Rocha 8804fa64d9 Bug 1098239 - Use latest gradle and android plugin (r=nalexander) 2014-11-13 15:35:45 -08:00
Nick Alexander 2510828967 Bug 1098444 - Add local.properties with sdk.dir for Gradle. r=trivial
It's possible this could go in gradle.properties, but this is what's
widely documented.
2014-11-13 15:35:27 -08:00
Nick Alexander 75e27bd0f3 Bug 1041395 - Add gradle configuration. r=gps
--HG--
rename : mobile/android/base/docs/index.rst => mobile/android/base/docs/uitelemetry.rst
2014-11-10 13:47:30 -08:00