Commit Graph

32 Commits

Author SHA1 Message Date
Csoregi Natalia
c79466f107 (bug 1411688) Make --with-gradle handle single-locale repack r=snorp a=reland
--HG--
extra : amend_source : d435c08a762988804bfe23251b8b5f76702eca99
2017-11-06 15:23:47 +02:00
Csoregi Natalia
aaa47364af Backed out 5 changesets (bug 1411688) for failing Android single-locale repacks. r=backout a=backout
Backed out changeset 65d5d13b4ea0 (bug 1411688)
Backed out changeset 8ba514bd8ed6 (bug 1411688)
Backed out changeset 866854a996b8 (bug 1411688)
Backed out changeset 34f83aab44e6 (bug 1411688)
Backed out changeset 2e4e139bb5d7 (bug 1411688)
2017-11-06 12:18:50 +02:00
Nick Alexander
cc2129e406 Bug 1411688 - Part 1: Make --with-gradle handle single-locale repacks. r=snorp
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
2017-10-23 13:24:58 -07:00
Sebastian Hengst
07b805d165 Backed out 5 changesets (bug 1411688) for flake8 linting failure at testing/mozharness/scripts/mobile_l10n.py. r=backout on a CLOSED TREE
Backed out changeset 8ddf3257a8db (bug 1411688)
Backed out changeset c313d76f2aa5 (bug 1411688)
Backed out changeset 3df83a3b7e9c (bug 1411688)
Backed out changeset 133417cefdab (bug 1411688)
Backed out changeset a8fd33d8a2af (bug 1411688)
2017-11-04 00:49:47 +01:00
Nick Alexander
9de930db2b Bug 1411688 - Part 1: Make --with-gradle handle single-locale repacks. r=snorp
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
2017-10-23 13:24:58 -07:00
Nick Alexander
d86b10b8e5 Bug 1411667 - Remove Spoon plugin references entirely. r=maliu
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
2017-10-26 15:49:41 -07:00
Nick Alexander
d52916250a Bug 1411686 - Part 2: Don't invoke |make gradle-targets| for AB_CD=multi. r=maliu
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
2017-10-19 13:49:45 -07:00
Nick Alexander
af26e68984 Bug 1366644 - Part 3a: Update Android build-tools (25.0.3), Gradle (3.4.1), Android-Gradle (2.3.3). r=maliu
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
2017-10-16 15:09:15 -07:00
Nick Alexander
b4575dcc58 Bug 1366644 - Pre: Bump Gradle JVM heap to allow in-process dex. r=maliu
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
2017-07-18 17:59:57 -07:00
Nick Alexander
2464b13257 Bug 1406196 - Pre: Cull unused Gradle plugin. r=maliu
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
2017-10-05 15:00:53 -07:00
Nick Alexander
7c0822f53f Bug 1255227 - Part 1: Stop using deprecated android-sdk-manager Gradle plugin. r=sebastian
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
2017-07-18 09:46:09 -07:00
Nick Alexander
4bbca312cf Bug 1384680 - Generalize GRADLE_MAVEN_REPOSITORY to GRADLE_MAVEN_REPOSITORIES. r=gps,sebastian
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
2017-07-26 11:28:07 -07:00
Nick Alexander
bd230aea82 Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu
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
2017-06-21 10:52:30 -07:00
Nick Alexander
6fcb908d17 Bug 1318823 - Use com.getkeepsafe.dexcount in Gradle builds. r=sebastian
MozReview-Commit-ID: DHkWkztgJZB

--HG--
extra : rebase_source : b2a5a5d698a216cdbff9fcc5999cac8d76ff0d4a
2016-11-18 18:28:58 -08:00
Grigory Kruglov
1e4e8c6e6e Bug 1300094 - Update Gradle to 2.14.1 and Gradle Plugin to 2.1.3 r=sebastian
MozReview-Commit-ID: KDimL7VeEA2

--HG--
extra : rebase_source : 713c680827562400d814ad32233b96d1a47a101a
2016-09-22 14:31:01 -07:00
Sebastian Kaspari
eb440a9f0d Bug 1268453 - Use Android Gradle plugin 2.1. r=mcomella
MozReview-Commit-ID: 4Whi8k2kzz0

--HG--
extra : rebase_source : 95883b76c7088a9937b5b049ab0f0f4695306301
extra : histedit_source : 9918033b53c5716904e5b2db324445044d9090cf
2016-04-29 14:48:43 +02:00
Sebastian Kaspari
6c23264bea Bug 1263390 - Use Gradle 2.10 and Android Gradle plugin 2.0. r=mcomella
MozReview-Commit-ID: SR6rhVroKv

--HG--
extra : rebase_source : 8996393e452b089a029d5879ce902a69f75bc64e
2016-04-19 20:01:38 +02:00
Michael Comella
140701c868 Bug 1258769 - Backed out changeset fe11700b6cdf.
MozReview-Commit-ID: Jxz5RK8o4n4

--HG--
extra : rebase_source : 5737fdddfe1a46011ba9977490958e2383d6537f
2016-03-25 13:53:58 -07:00
Michael Comella
b5ed0403e2 Bug 1258769 - Use soter to add checkstyle gradle task with simple checks. r=nalexander
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
2016-03-25 09:52:15 -07:00
Nick Alexander
40132bc444 Bug 1256995 - Move --with-gradle to mobile/android/moz.configure. r=glandium
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
2016-03-17 11:04:08 -07:00
Nick Alexander
8204c8154a Bug 1258452 - Pre: Assemble app and tests when collecting dependencies. r=me
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
2016-03-12 16:43:42 -08:00
Nick Alexander
65d4c28a45 Bug 1252928 - Part 3: Replace android-gradle-build-dependencies with android-api-15-gradle-dependencies. r=dustin
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
2016-03-08 13:06:59 -08:00
Nick Alexander
dedaa7d47c Bug 1252928 - Part 1: Use Jake Wharton's sdk-manager-plugin in Fennec's Gradle configuration. r=sebastian
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
2016-03-01 20:12:04 -08:00
Nick Alexander
8439f6ad90 Bug 1233882 - Post: Update Android Gradle plugin to 1.5.0. r=me
MozReview-Commit-ID: 96Ot6X6d3rl

--HG--
extra : rebase_source : b6340af68a8116bc24e5a3ea1fd14dc6233bc09d
extra : histedit_source : fa5d973eda1ba57ca6254e8922cc0343c1998a39
2016-02-17 19:16:41 -08:00
Nick Alexander
9d87131d31 Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r=glandium
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
2016-02-10 19:29:27 -08:00
Nick Alexander
c4f4d0e3d9 Bug 1248005 - Use com.stanfy.spoon:spoon-gradle-plugin:1.0.4. r=me
MozReview-Commit-ID: 8hSOCq8XpZ7

--HG--
extra : rebase_source : 2a53bf00a5ffbf3882d6b144e2c14979bf3c02ad
extra : amend_source : f878e1ea6f2bad11b1ba53e499573b50a34794d5
extra : histedit_source : 5ea4d001fa8b6c039785708fca5bffcbfd07dcea
2016-02-11 12:44:53 -08:00
Nick Alexander
b3f4d4d9e6 Bug 1242284 - Pre: Remove no longer required Maven repository; bump test-only dependency. r=me
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
2015-12-16 20:00:16 -08:00
Nick Alexander
c438fd1f6f Bug 1107811 - Part 4: Exclude all but mobile/. r=me
--HG--
extra : commitid : 74U8fEJ56gs
extra : rebase_source : b7b4c64fce0d0be99c009d60e00e31b3566a432b
extra : histedit_source : 40c112ab0114735734efa948060f87ccf81c3db8
2015-12-02 14:57:12 -08:00
Nick Alexander
44046732fb Bug 1220887 - Make 'base' Gradle project in the srcdir. r=sebastian
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
2015-11-03 15:04:39 -08:00
Nick Alexander
ae3c756d2f Bug 1219846 - Pre: Index less in IntelliJ. r=me
--HG--
extra : commitid : BTmpYVi9hnT
extra : rebase_source : 49c6ffde3bfa0c8d30ce186460138376afd73f47
2015-10-29 19:53:51 -07:00
Nick Alexander
87aa09a088 Bug 1123416 - Part 3: Limit IntelliJ objdir indexing. r=sebastian
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
2015-10-20 15:30:44 -07:00
Nick Alexander
c1750592a8 Bug 1123416 - Part 1: Make topsrcdir a valid Gradle project root. r=sebastian
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
2015-10-21 15:07:55 -07:00