Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Issue 2156453002: Add AAR support to Chrome and convert support libraries to using AARs (Closed)

Created:
4 years, 5 months ago by Ian Wen
Modified:
4 years, 5 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, chromoting-reviews_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, mikecase+watch_chromium.org, jbudorick+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add AAR support to Chrome and convert support libraries to using AARs Chrome has been using Jar and resources from support library for years. In Q1 2016, Android team stops shipping jars/res for support libray. Instead, AAR is promoted, which is a zip that wraps jars and resources. This CL introduces a utility python script that processes an AAR file. In GN gen time, it lists all files in the AAR, yet it does not extract it. Actual unpacking is postponed until compilation. Two other things to notice: 1. In the old jar we depended on, support-v13 contains support-v4 and support-annotations. After converting to AAR, these two libraries are no longer part of support-v13. Thus this change needs to be reflected. 2. In the new AAR format, support-v4 now contains two jars instead of one. All public classes are in classes.jar, and all hidden classes are in libs/internal_impl-$VERSION.jar. This work is not possible without bajones@'s pioneering work in https://chromiumcodereview.appspot.com/2069273002/ BUG=611171 Committed: https://crrev.com/c84b9756d482be2561734a19138b41ca630f2701 Cr-Commit-Position: refs/heads/master@{#406603}

Patch Set 1 #

Total comments: 30

Patch Set 2 : agrieve's comments #

Total comments: 13

Patch Set 3 : fix compiling and some more comments #

Patch Set 4 : Fix recompile issue #

Total comments: 10

Patch Set 5 : jburorick's comments #

Total comments: 1

Patch Set 6 : revert change in 3p/android_async_task/README.chromium #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -77 lines) Patch
A build/android/gyp/aar.py View 1 2 3 4 1 chunk +65 lines, -0 lines 0 comments Download
M build/config/android/internal_rules.gni View 1 chunk +1 line, -0 lines 0 comments Download
M build/config/android/rules.gni View 1 2 3 4 1 chunk +111 lines, -0 lines 0 comments Download
M build/secondary/third_party/android_tools/BUILD.gn View 1 2 3 4 4 chunks +42 lines, -56 lines 0 comments Download
M chrome/android/BUILD.gn View 1 2 3 chunks +1 line, -2 lines 0 comments Download
M chrome/test/android/BUILD.gn View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M chromecast/browser/android/BUILD.gn View 1 2 1 chunk +1 line, -1 line 0 comments Download
M components/cronet/android/BUILD.gn View 2 chunks +2 lines, -2 lines 0 comments Download
M content/public/android/BUILD.gn View 1 2 2 chunks +1 line, -2 lines 0 comments Download
M remoting/android/BUILD.gn View 1 2 3 chunks +2 lines, -3 lines 0 comments Download
M remoting/android/client_java_tmpl.gni View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M third_party/android_async_task/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download
M third_party/android_media/BUILD.gn View 1 2 2 chunks +2 lines, -3 lines 0 comments Download
M third_party/android_swipe_refresh/BUILD.gn View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/custom_tabs_client/BUILD.gn View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M third_party/espresso/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download
M tools/android/audio_focus_grabber/BUILD.gn View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 54 (29 generated)
Ian Wen
Hello reviewers, I am excited to share the result of my 2-week-long exploration and PTAL! ...
4 years, 5 months ago (2016-07-15 01:36:22 UTC) #2
agrieve
Exciting stuff! https://codereview.chromium.org/2156453002/diff/1/build/android/gyp/aar.py File build/android/gyp/aar.py (right): https://codereview.chromium.org/2156453002/diff/1/build/android/gyp/aar.py#newcode16 build/android/gyp/aar.py:16: nit: 2 blank lines between top-level things ...
4 years, 5 months ago (2016-07-15 14:34:41 UTC) #7
Ian Wen
All addressed. One thing I noticed with the newest patch is that it will always ...
4 years, 5 months ago (2016-07-17 02:08:09 UTC) #8
agrieve
Nothing sticks out to me as for the reason it would be detecting stale targets. ...
4 years, 5 months ago (2016-07-18 18:31:52 UTC) #13
Ian Wen
https://chromiumcodereview.appspot.com/2156453002/diff/20001/build/android/gyp/aar.py File build/android/gyp/aar.py (right): https://chromiumcodereview.appspot.com/2156453002/diff/20001/build/android/gyp/aar.py#newcode38 build/android/gyp/aar.py:38: args = parser.parse_args() On 2016/07/18 18:31:52, agrieve wrote: > ...
4 years, 5 months ago (2016-07-18 23:10:59 UTC) #15
Ian Wen
PTAL the latest patchset :) Tryjobs passed. Recompiling issue solved. It was because R.txt is ...
4 years, 5 months ago (2016-07-19 00:21:50 UTC) #18
agrieve
lgtm! https://chromiumcodereview.appspot.com/2156453002/diff/20001/build/config/android/rules.gni File build/config/android/rules.gni (right): https://chromiumcodereview.appspot.com/2156453002/diff/20001/build/config/android/rules.gni#newcode2610 build/config/android/rules.gni:2610: outputs += get_path_info( On 2016/07/18 23:10:59, Ian Wen ...
4 years, 5 months ago (2016-07-19 00:25:38 UTC) #19
Ian Wen
Dear owners, PTAL at this change about how we compile against android support library. In ...
4 years, 5 months ago (2016-07-19 00:36:36 UTC) #21
blundell
blundell -> mef for //components/cronet Prefer OWNERS of specific //components when possible. Thanks!
4 years, 5 months ago (2016-07-19 06:25:22 UTC) #27
jbudorick
https://chromiumcodereview.appspot.com/2156453002/diff/60001/build/android/gyp/aar.py File build/android/gyp/aar.py (right): https://chromiumcodereview.appspot.com/2156453002/diff/60001/build/android/gyp/aar.py#newcode17 build/android/gyp/aar.py:17: sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) nit: sys.path.append(os.path.abspath(...)) https://chromiumcodereview.appspot.com/2156453002/diff/60001/build/android/gyp/aar.py#newcode39 build/android/gyp/aar.py:39: assert args.extract ...
4 years, 5 months ago (2016-07-19 13:14:06 UTC) #28
Ian Wen
Thanks for the review. All addressed. https://chromiumcodereview.appspot.com/2156453002/diff/60001/build/android/gyp/aar.py File build/android/gyp/aar.py (right): https://chromiumcodereview.appspot.com/2156453002/diff/60001/build/android/gyp/aar.py#newcode17 build/android/gyp/aar.py:17: sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) ...
4 years, 5 months ago (2016-07-19 18:36:48 UTC) #29
jbudorick
lgtm
4 years, 5 months ago (2016-07-19 18:39:04 UTC) #30
Ted C
On 2016/07/19 18:39:04, jbudorick wrote: > lgtm lgtm chrome* content* third_party/android_swipe_refresh
4 years, 5 months ago (2016-07-19 19:57:38 UTC) #31
Yusuf
lgtm for third_party/custom_tabs_client
4 years, 5 months ago (2016-07-19 20:04:34 UTC) #32
mef
components/cronet/* lgtm
4 years, 5 months ago (2016-07-19 20:14:12 UTC) #33
Xianzhu
tools/android lgtm.
4 years, 5 months ago (2016-07-19 20:33:17 UTC) #34
Sergey Ulanov
remoting lgtm
4 years, 5 months ago (2016-07-19 21:18:52 UTC) #36
dgn
3p/android_media lgtm https://codereview.chromium.org/2156453002/diff/80001/build/secondary/third_party/android_tools/BUILD.gn File build/secondary/third_party/android_tools/BUILD.gn (right): https://codereview.chromium.org/2156453002/diff/80001/build/secondary/third_party/android_tools/BUILD.gn#newcode36 build/secondary/third_party/android_tools/BUILD.gn:36: lib_path = "$android_sdk_root/extras/android/m2repository/com/android/support" How do we get ...
4 years, 5 months ago (2016-07-19 22:02:23 UTC) #37
Ian Wen
On 2016/07/19 22:02:23, dgn wrote: > 3p/android_media lgtm > > https://codereview.chromium.org/2156453002/diff/80001/build/secondary/third_party/android_tools/BUILD.gn > File build/secondary/third_party/android_tools/BUILD.gn (right): ...
4 years, 5 months ago (2016-07-19 22:11:08 UTC) #38
slan
cast lgtm
4 years, 5 months ago (2016-07-19 22:47:29 UTC) #43
hartmanng
third_party/android_async_task/BUILD.gn LGTM
4 years, 5 months ago (2016-07-20 14:31:23 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2156453002/100001
4 years, 5 months ago (2016-07-20 17:10:57 UTC) #49
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 5 months ago (2016-07-20 17:40:16 UTC) #51
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-20 17:40:22 UTC) #52
commit-bot: I haz the power
4 years, 5 months ago (2016-07-20 17:44:17 UTC) #54
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/c84b9756d482be2561734a19138b41ca630f2701
Cr-Commit-Position: refs/heads/master@{#406603}

Powered by Google App Engine
This is Rietveld 408576698