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
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
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
In GeckoView we need to depend on the same Glean version as the included
Glean Rust crate has.
We _could_ let Gradle read that from Cargo.lock directly,
but that complicates the build.
Instead we manually update both versions to the same
and have Gradle ensure we don't forget that.
Differential Revision: https://phabricator.services.mozilla.com/D116602
This also upgrades to Kotlin 1.3.50, which is required to due Glean
requirements. Fenix is already on 1.4, so that's no problem.
We also turn the geckoview_example into a multiDex application.
Otherwise we run into the 64k dex symbols size limit.
Differential Revision: https://phabricator.services.mozilla.com/D116601
In GeckoView we need to depend on the same Glean version as the included
Glean Rust crate has.
We _could_ let Gradle read that from Cargo.lock directly,
but that complicates the build.
Instead we manually update both versions to the same
and have Gradle ensure we don't forget that.
Differential Revision: https://phabricator.services.mozilla.com/D116602
This also upgrades to Kotlin 1.3.50, which is required to due Glean
requirements. Fenix is already on 1.4, so that's no problem.
We also turn the geckoview_example into a multiDex application.
Otherwise we run into the 64k dex symbols size limit.
Differential Revision: https://phabricator.services.mozilla.com/D116601
There is an unfortunate-but-necessary ordering issue that needs to be fixed in
the api.txt file which is causing a lot of one time updates. The ordering of
annotations was not stable (and now it is).
Differential Revision: https://phabricator.services.mozilla.com/D95382
This version includes the following commits:
d89245f Update com.gradle.plugin-publish to 0.11.0.
17bc5ea Closes#77: Don't fail when the map index is out of range.
Differential Revision: https://phabricator.services.mozilla.com/D72405
Per https://developer.android.com/studio/releases/build-tools, the default
version of the build tools used is internal to the Gradle plugin for Android,
which in the current version of Gradle is 28. To use 29, we need to explicitly
specify that in `.gradle` files using `buildToolsVersion`.
We also change the specification of `compileSdkVersion` to obtain that
information from the build configuration.
Differential Revision: https://phabricator.services.mozilla.com/D69632
--HG--
extra : moz-landing-system : lando
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
This always invokes `mach package` (in reality `make -C
... stage-package` for historical reasons), sacrificing a few seconds
of package-related time every Gradle build. We then rely on Gradle's
fingerprinting to know when AAR/APK targets are up to date.
This should be much better for GeckoView engineers: the old input file
computations were simplifications tuned for Fennec engineers consuming
artifact builds.
Differential Revision: https://phabricator.services.mozilla.com/D41447
--HG--
extra : moz-landing-system : lando
Before this version, apilint would not include CHANGELOG errors in the json
report. After Bug 1512487 we started ignoring apilint output (and erorr code)
and only consider the json report, so the CHANGELOG erorrs broke.
Updating to 0.2.5 makes it so the CHANGELOG errors are included in the json
report correctly. E.g.:
```
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
384:14 error The api changelog file is out of date. Please update the file
and modify the [api-version] line as follows: [api-version]:
a0b1e88e8bb3045a22c0942d736f4e9b4532bdeb wrong_api_version
(android-api-lint)
```
The apilint fix is here:
9cadbd0686
Differential Revision: https://phabricator.services.mozilla.com/D40655
--HG--
extra : moz-landing-system : lando
Before this version, apilint would not include CHANGELOG errors in the json
report. After Bug 1512487 we started ignoring apilint output (and erorr code)
and only consider the json report, so the CHANGELOG erorrs broke.
Updating to 0.2.5 makes it so the CHANGELOG errors are included in the json
report correctly. E.g.:
```
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
384:14 error The api changelog file is out of date. Please update the file
and modify the [api-version] line as follows: [api-version]:
a0b1e88e8bb3045a22c0942d736f4e9b4532bdeb wrong_api_version
(android-api-lint)
```
The apilint fix is here:
9cadbd0686
Differential Revision: https://phabricator.services.mozilla.com/D40655
--HG--
extra : moz-landing-system : lando
This also updates apilint to 0.2.2 to ensure that future instances of this
problem will be caught automatically.
Differential Revision: https://phabricator.services.mozilla.com/D37812
--HG--
extra : moz-landing-system : lando
This also updates apilint to 0.2.2 to ensure that future instances of this
problem will be caught automatically.
Differential Revision: https://phabricator.services.mozilla.com/D37812
--HG--
extra : moz-landing-system : lando
Support using the Google Play-provided FIDO2 API for Web Authentication.
FIDO U2F API support is being handled subsequently in Bug 1550625.
This patch uses the privileged APIs and thus will only work on Fennec Nightly, Beta, and Release builds.
Differential Revision: https://phabricator.services.mozilla.com/D1148
--HG--
extra : moz-landing-system : lando
This commit avoids moz.build tasks when we're already within `mach
build`.
This is belt-and-braces: from within `mach build`, we want the main
moz.build dependency graph to arrange for the Gradle invocations to be
in the right state. It's only in other situations, like `mach android
...` or invocation from Android Studio, that we want Gradle to arrange
to be in the right state vis. moz.build.
Differential Revision: https://phabricator.services.mozilla.com/D30426
--HG--
extra : moz-landing-system : lando
The inline comment explains what is happening here. The issue is that
client.mk is setting MOZ_OBJDIR (and autoconf.mk is setting CC/CXX and
others) as part of `mach build`, which means that recursively invoking
`mach build` sees a different environment, and that triggers
reconfigure.
In some situations we can avoid this by recognizing that the
environment has changed and setting it back to what it was at the time
of `mach build` before client.mk adjusts it.
Differential Revision: https://phabricator.services.mozilla.com/D30425
--HG--
extra : moz-landing-system : lando
This also upgrades apilint to 0.1.8 to enforce that all interfaces have default
impls.
Differential Revision: https://phabricator.services.mozilla.com/D23324
--HG--
extra : moz-landing-system : lando
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
Updated play-services-cast to 16.0.0 in order to benefit from the IPv6 and other features.
Differential Revision: https://phabricator.services.mozilla.com/D18324
--HG--
extra : moz-landing-system : lando
android.test.* is no longer part of the main framework, so as per
https://developer.android.com/training/testing/set-up-project,
- we must no longer declare them as a *required* dependency in our manifests
- we must explicitly include a dependency on them in our build config
This will temporarily break running tests depending on android.test.* (i.e.
mainly Robocop) on devices using P or newer until we also start targeting P as
well.
Differential Revision: https://phabricator.services.mozilla.com/D16422
--HG--
extra : moz-landing-system : lando
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
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
There's no need -- it will be fetched by Gradle when needed. The only
wrinkle is that the user might be asked to confirm license agreements,
which could be a hassle (and could cause problems in CI, but there we
install relevant platforms in advance).
Differential Revision: https://phabricator.services.mozilla.com/D14288
--HG--
extra : moz-landing-system : lando
This makes it so that apilints lints with "GV" codes are enforced and will fail
the build.
Depends on D13882
Differential Revision: https://phabricator.services.mozilla.com/D13883
--HG--
extra : moz-landing-system : lando
This adds a task to each project called `downloadDependencies`. This task will
go through each configuration and resolve every dependency so that the gradle
cache contains a copy of every file needed for building and running tests. This
is intended to be used together with our nexus oss database but it can be used
locally too.
Note: `downloadDependencies` does not download dependencies added a runtime,
e.g. by plugins like apilint, checkstyle, findbugs... so we still need to run
those tasks to collect their dependencies.
Depends on D14516
Differential Revision: https://phabricator.services.mozilla.com/D14622
--HG--
extra : moz-landing-system : lando
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
This 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.
Differential Revision: https://phabricator.services.mozilla.com/D12798
--HG--
extra : moz-landing-system : lando
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
Doing so allow to use try-with-resources on all API levels supported by us, not
just starting from API19.
Unfortunately this step also introduces some additional ambiguities in overload
resolution, which means that one of GeckoResult's "then" overloads needs to be
renamed.
Differential Revision: https://phabricator.services.mozilla.com/D4887
--HG--
extra : rebase_source : 7173395484a9616ce739e9d2ba3aa0b8410be386
extra : source : 66955d05bb86c25b1fcb81d60b38be95018d09ca
While extended Java 8 support, especially on older API levels, was already
introduced in v3.0 and we're currently on 3.1.0, we still take the opportunity
to upgrade to the latest plugin version just to be safe.
--HG--
extra : rebase_source : edf81582552439a139a6a978039f4638e161bf99
extra : source : 1f151d5b8992665c3da17f81e89f6e053473cea8
This also removes the trivial tests for geckoview_example that were
causing problems.
Differential Revision: https://phabricator.services.mozilla.com/D3991
--HG--
extra : moz-landing-system : lando
This patch adds JaCoCo as a dependency for the geckoview androidTest configurations, as well as
the `mach android archive-geckoview-coverage-artifacts` command, and the `--enable-java-coverage`
mozconfig flag.
MozReview-Commit-ID: 36jNAzK44g3
--HG--
extra : rebase_source : 9edc37913a3929ad045270c601c77791d122e363
Updated google play services version as part of work of the Oreo migration and removed unused libraries from gradle.
MozReview-Commit-ID: BKCWs938k3q
--HG--
extra : rebase_source : 2e9ad83904276607f27974206bd3ad0ba2879279
This patch also:
Resolves missing resources and api changes
- LeanplumActionBarActivity was removed because Support Library 26 deprecated
ActionBarActivity. Class was already not in use.
- CustomTabsService added two new methods which we need to override.
Tested to make sure that previous functionality was maintained but with the
addition of the two new methods maybe that feature could be improved.
- For checking layout direction we'll use our own new method from ViewUtil
which mimics what the now restricted method from the support library would do.
- Upgraded to use AppCompatResources#getDrawable(..) in place
of the now restricted AppCompatDrawableManager.get().getDrawable(..).
Resolves obscure leaks and crashes after the upgrade
- LoaderManager.destroyLoader(..) was added before the existing call to
LoaderManager.restartLoader(..) to prevent potential Cursor leaks
- Disable website suggestions depending on the address bar inputs when running
in automation to avoid Robocop tests failing (they were entering serially maybe
100 characters in <5 ms which created around that many new Threads,
operation that could cause the Executor to throw a RejectedExecutionException)
At the moment this functionality is not covered by tests anyway and it was the
only fix I could find that would not involve changing the whole implemenation
for address bar suggestions, implementation which in the real world works ok.
MozReview-Commit-ID: 2fX1SBHiSh0
--HG--
extra : amend_source : edb6c5853cdcea5ad50a7cf680f2214fdc176cb2
Update the kotlin version used for GeckoView tests to 1.2.41. Also turn
on "warnings-as-errors", which is a compiler option introduced in kotlin
1.2.
MozReview-Commit-ID: 7cL2v4jFJ27
--HG--
extra : rebase_source : daf3c2f3ca24304faa10c399c4ef2bd145395ada
Kotlin has several nice features for writing tests, such as lambdas and
default implementations for interface methods. This patch adds Kotlin
support to the geckoview module build.gradle. We don't want to use
Kotlin in non-test code yet, so the patch ensures that only test code
contains Kotlin files.
MozReview-Commit-ID: FcQiHj20xlB
--HG--
extra : rebase_source : e304d25d09291bc0a3faa29bf36f9d01eadc8524
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.
MozReview-Commit-ID: ApWS4rHzPuH
--HG--
extra : rebase_source : 22008e9333b15c594ce26c2a52f67396d6e3ab84
extra : source : f918500d9cf5112b70bc8e0a120df435b02252b7
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.
MozReview-Commit-ID: ApWS4rHzPuH
--HG--
extra : rebase_source : 38a9781c472d858f3300cbbcbdc6d2311c465713
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.
MozReview-Commit-ID: ApWS4rHzPuH
--HG--
extra : rebase_source : 5a5730b4b9ce84af40a7c73c4f1abba017103f02
Single-locale repacks do the following:
Download existing APK; unzip APK; update l10n resources; |mach package| with IS_LANGUAGE_REPACK=1.
This is pretty hard to accommodate, but we can try. The key issues
here are to recognize when IS_LANGUAGE_REPACK=1 and not ask for l10n
resources (in particular, strings.xml) to be generated.
We do need to include the freshly built classes.dex when repackaging,
because newer Gradle/aapt doesn't preserve the R.java IDs.
MozReview-Commit-ID: 9FvQtmPOUjg
--HG--
extra : rebase_source : b0440ceb318662bf3c08f2139c51dae5775a6b38
Single-locale repacks do the following:
Download existing APK; unzip APK; update l10n resources; |mach package| with IS_LANGUAGE_REPACK=1.
This is pretty hard to accommodate, but we can try. The key issues
here are to recognize when IS_LANGUAGE_REPACK=1 and not ask for l10n
resources (in particular, strings.xml) to be generated.
We do need to include the freshly built classes.dex when repackaging,
because newer Gradle/aapt doesn't preserve the R.java IDs.
MozReview-Commit-ID: 9FvQtmPOUjg
--HG--
extra : rebase_source : 6a34a8c299138ea39c6703f334c8fd5f49b03237
Spoon and some Gradle work allowed to run certain JUnit 3 test suites
locally. At the time, running the various test suites was diffficult.
Fast forward, and it's easier to run these suites, and in general they
are only run in Android Studio. This will only get better as we move
the background services tests into a separate module (Bug 1229149).
MozReview-Commit-ID: KZTWmkhwi96
--HG--
extra : rebase_source : 5244e81ffe81e8611034fea1edb07681266a7581
This work-around isn't needed for the moz.build system because there's
no equivalent of the
|mach build| > |mach gradle| > |make gradle-targets|
dependency chain that "re-enters" Make processing. That is, the
nodeps mechanism ensures that nothing in m/a/b/Makefile.in (that knows
about AB_CD) ever sees AB_CD=multi.
MozReview-Commit-ID: qZKAtlLhJw
--HG--
extra : rebase_source : b9dd2f4f4dd8af5c4d594927226c7b8230723b9f
extra : source : c965d3adbcbf35f417dbf0832b44de6c52b89535
The goal is to use a newer Android-Gradle build plugin version (2.3.3
is latest stable). That requires a modern Gradle (anything 3.3+, but
3.4.1 is the default from my Android Studio), and also a newer
build-tools (25.0.3 is latest stable).
The locations of lint output changed, and we want to use the standard
output location because it's difficult to accommodate variant details
in custom names. We change the location of findbugs output to follow
suit.
This requires either:
- fixing lint errors
- adding to the lint whitelist
- using the new lint baseline
It's best to use the new lint baseline, which will happen in the next commit.
MozReview-Commit-ID: D19FzIDCJrE
--HG--
extra : rebase_source : 12d132c0c3e0dbe2b8873b31360ea96d612de44c
In-process dex is a slight performance win.
This also upgrades `dexcount-gradle-plugin` to 0.7.1.
MozReview-Commit-ID: 2Bg5qX41pHB
--HG--
extra : rebase_source : 1f42d73b53bb46b29d3602845c62578576cd0f3e
This just isn't used any more; get rid of it. We might want to put
Gradle packages in the tree in the future, so keep
mobile/android/gradle/m2repo.
MozReview-Commit-ID: Gc7TzAqCVsa
--HG--
extra : rebase_source : e60ca18ee19269721c3ecface515c3bba8089f72
This was only ever used to automatically fetch Android SDK
dependencies in the android-gradle-dependencies job in Task Cluster.
That function is now provided by newer Android-Gradle build plugins.
MozReview-Commit-ID: Adrxm2rAPlZ
--HG--
extra : rebase_source : 6cccb53e2ebc2642ee6c61ef13fcb6d8321b67cf
I'm confident nobody is configuring this locally, so there's no reason
to keep the existing name (and grow the new semantics) nor to
deprecate the existing name explicitly.
MozReview-Commit-ID: HW3epgwZFpO
--HG--
extra : rebase_source : d328f9ce9299dcd80e508925314236747aee1ea3
This patch does two things:
- add a Gradle-only ANDROID_COMPILE_SDK_VERSION substitution;
- uses it while uniformizing all of the Gradle Android SDK version
configurations.
The approach is fairly standard (and we were using it already); see,
for example
https://medium.com/@ali.muzaffar/gradle-configure-variables-for-all-android-project-modules-in-one-place-5a6e56cd384e
This will make bumping the Gradle configuration versions forward
easier.
MozReview-Commit-ID: 1j5siCvR5qt
--HG--
extra : rebase_source : 07afb00de0e4a72af4026eb19ff4f2530c119336
Run checkstyle via:
./mach gradle app:checkstyle
This is intended to be added to automation in bug 1258787.
Concerns with this patch:
1) I don't have a maven-metadata-local.xml. However, I didn't take the
snapshotted version and [1] seems to indicate it's unnecessary for my
particular build.
For the addition of future checks, it's worth noting Google's config is
available:
3e4367941c/src/main/resources/google_checks.xml
And this version contains links with descriptions of each of the tasks:
http://checkstyle.sourceforge.net/google_style.html
[1]: https://maven.apache.org/ref/3.3.3/maven-repository-metadata/
MozReview-Commit-ID: ID3X9ZA27b0
--HG--
extra : rebase_source : ad8d3d5255e366362db5cc19985434e5ab5f9559
extra : histedit_source : b0bc07b572f7010c3f15ee76d52619ff5d76ab52
This also adds a GRADLE_FLAGS environment variable for use in
automation.
Manually tested.
MozReview-Commit-ID: 8nDkqz2VnJn
--HG--
extra : rebase_source : 32626a7dc0c0a6a440e300d92c31670f14319325
extra : amend_source : fe134e25f079851b4c648b53a7a485ee20c15c18
In the wild, the Robotium Maven dependency is not being fetched.
Let's see if this forces it to be downloaded.
MozReview-Commit-ID: 3Fhm4Aj40Jp
--HG--
extra : rebase_source : 7b1071ef36ff4600e303ac9e0c7dc0b998fad705
extra : histedit_source : 6568e7aa28e60897b8fe96904dcb2bc296945222
The existing task's outcome is best achieved with a special purpose
build task, so here it is.
MozReview-Commit-ID: 3gYnAb69TdK
--HG--
rename : mobile/android/config/mozconfigs/android-api-15-frontend/nightly => mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
rename : mobile/android/config/tooltool-manifests/android-frontend/releng.manifest => mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest
extra : rebase_source : 252c283553d64bac17c2b922773023a349c297ea
extra : histedit_source : 2d8becbcdfa5d37829552e55b50fb7f9cbf56dea
This is a version produced locally from
1d07987217.
I used |./gradlew install| and then copied the pieces out of ~/.m2/repository.
Local builders should never download using this plugin, since |mach configure|
ensures that all the relevant pieces can already be found. It's just useful in
automation; and as an eventual replacement for chunks of |mach bootstrap|.
MozReview-Commit-ID: 9JiFe0xLr99
--HG--
extra : rebase_source : 5bbe5ada7fce0d3e8a702a09da7ff70fd639dc67
extra : histedit_source : aa7049abefafd652b0db2bd03ab15310967e0ad0
Enable building with Gradle using --with-gradle. Configure the
location of Gradle with --with-gradle=/path/to/gradle. For local
developers, this is always the in tree Gradle wrapper, which downloads
and installs the correct Gradle version automatically. In automation,
this will be a version of Gradle fetched from tooltool.
Configure the location to use to download Gradle Maven dependencies
(including the Android-Gradle plugin) by setting
GRADLE_MAVEN_REPOSITORY in your mozconfig. For local developers, this
defaults to the jcenter repository. In automation, this will be an
archived directory fetched from tooltool.
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: Hrkn88Vig5H
--HG--
extra : rebase_source : c5e83590c9b28ad5a10f91ec0a3663e6d64b3b40
extra : amend_source : c3e162673238d6c6191838cc98f8301e325e01a2
jcenter() now contains both com.squareup.spoon:spoon-runner:1.1.10 and
org.simpleframework:simple-http:6.0.1 so we can get rid of some
outdated listings.
--HG--
extra : commitid : ET5J8Paj76Q
extra : rebase_source : a8273537366b042338274037bd3ac1ad8e8f9cfe
This is the last Gradle project that isn't in the srcdir. Since base/
doesn't have the correct package prefix directory structure, we still
need to symlink, but we only need one link. This effectively
deprecates |mach gradle-install|.
This should improve the robustness of our Gradle configuration,
ensuring that we always have projects to import. Since
settings.gradle executes very early in the IDE import project
sequence: before Gradle project evaluation time, and thus before any
Gradle task is executed, we should always see a complete project. (It
was possible to see incomplete Gradle configurations if |mach
gradle-install| hadn't been run at just the right time.)
--HG--
extra : commitid : 4zK7U5PAypH
extra : rebase_source : 91f8534a89f0311b36bd39f502e2f7609a1d78b0
IntelliJ's exclusion mechanism (for Gradle-based projects) is not very
flexible; we get just idea.module.excludeDirs. This patch crawls the
file system to skip what we can.
--HG--
extra : commitid : 5ckT9DSiS02
extra : rebase_source : 4f362c4996289ce7ee593e9bb35e9aff70e73426
The sub-project definitions are still in the object directory (and
still installed by |mach gradle-install); over time, we'll migrate
them out.
The Gradle wrapper and {settings,build}.gradle in topsrcdir are
identical to those in mobile/android/gradle. I don't like the
duplication, but I also don't want the burden of keeping the two
configurations identical. We'll move away from the configuration
using mobile/android/gradle as quickly as we can.
--HG--
rename : mobile/android/gradle/build.gradle => build.gradle
rename : mobile/android/gradle/gradle/wrapper/gradle-wrapper.jar => gradle/wrapper/gradle-wrapper.jar
rename : mobile/android/gradle/gradle/wrapper/gradle-wrapper.properties => gradle/wrapper/gradle-wrapper.properties
rename : mobile/android/gradle/gradlew => gradlew
rename : mobile/android/gradle/settings.gradle => settings.gradle
extra : commitid : IkXCiKfkha1
extra : rebase_source : 4142fe37cd7e036d41fb122fe31cd232fcfdfc80