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

Issue 2336843002: Decompose //extensions/browser/BUILD.gn (Closed)

Created:
4 years, 3 months ago by Rahul Chaturvedi
Modified:
4 years, 3 months ago
Reviewers:
Devlin, brettw
CC:
chromium-reviews, extensions-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, jam, dcheng, abarth-chromium, Aaron Boodman, darin-cc_chromium.org, yzshen+watch_chromium.org, chromium-apps-reviews_chromium.org, darin (slow to review), stevenjb+watch_chromium.org, James Cook, xiyuan, Dirk Pranke
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Decompose //extensions/browser/BUILD.gn This CL changes the extensions build to have BUILD.gn's in (almost) all leaf directories. This accomplishes several things, a.) Makes it very clear of what files belong to which component/API. For example, to see which files exist in the audio API, one needs to parse the massive single //extensions/browsers/BUILD.gn to find the main API source list, then look if any of the exception conditions (is_chromeos, is_linux, etc) also contain any of the audio API files. This is now all in one //extensions/browser/api/audio/BUILD.gn, making it easier to parse and understand the build of each component. b.) It makes dependencies clearer. Currently we have no idea which dependency in the huge dependency list in //extensions/browser/BUILD.gn is needed by which API. With individual build files, we can now specify dependencies for just the component that needs them. This CL tries to do this but some dependencies are used by enough components that we've just included them for all (//content/browser/public, //skia). This is not ideal but at worst, it is still much better than the current build. Since we're now moving APIs over from //chrome/browser/extensions over to //extensions/browser, this becomes even more important. All APIs that get moved over now can use this new format for their build files. jamescook@, rockot@, xiyuan@ - FYI R=rdevlin.cronin@chromium.org BUG=641155 Committed: https://crrev.com/a932263a75195ad6cfe3e47dce49cc8845ded05e Cr-Commit-Position: refs/heads/master@{#418729}

Patch Set 1 #

Patch Set 2 : win fix #

Total comments: 16

Patch Set 3 : . #

Patch Set 4 : fix moar dependencies. #

Total comments: 3

Patch Set 5 : don't depend directly on skia #

Patch Set 6 : move apis to public_deps #

Patch Set 7 : check fix #

Patch Set 8 : mojo deps fix #

Patch Set 9 : unending win fixes #

Total comments: 12

Patch Set 10 : . #

Patch Set 11 : . #

Total comments: 15

Patch Set 12 : . #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1037 lines, -644 lines) Patch
M extensions/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +10 lines, -464 lines 0 comments Download
A extensions/browser/api/BUILD.gn View 1 2 3 4 5 1 chunk +86 lines, -0 lines 0 comments Download
A + extensions/browser/api/activity_log/BUILD.gn View 1 2 3 1 chunk +4 lines, -4 lines 0 comments Download
A extensions/browser/api/alarms/BUILD.gn View 1 2 3 1 chunk +18 lines, -0 lines 0 comments Download
A + extensions/browser/api/app_current_window_internal/BUILD.gn View 1 2 3 4 5 6 1 chunk +5 lines, -4 lines 0 comments Download
A + extensions/browser/api/app_runtime/BUILD.gn View 1 2 3 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
A + extensions/browser/api/app_window/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -4 lines 0 comments Download
A extensions/browser/api/audio/BUILD.gn View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
A extensions/browser/api/bluetooth/BUILD.gn View 1 2 3 4 1 chunk +25 lines, -0 lines 0 comments Download
A + extensions/browser/api/bluetooth_socket/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +8 lines, -12 lines 0 comments Download
A extensions/browser/api/cast_channel/BUILD.gn View 1 2 3 1 chunk +31 lines, -0 lines 0 comments Download
A + extensions/browser/api/clipboard/BUILD.gn View 1 2 3 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
A extensions/browser/api/declarative/BUILD.gn View 1 2 3 4 1 chunk +25 lines, -0 lines 0 comments Download
A + extensions/browser/api/declarative_content/BUILD.gn View 1 2 3 7 8 9 1 chunk +3 lines, -4 lines 0 comments Download
A extensions/browser/api/declarative_webrequest/BUILD.gn View 1 2 3 4 1 chunk +27 lines, -0 lines 0 comments Download
A + extensions/browser/api/diagnostics/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -4 lines 0 comments Download
A extensions/browser/api/display_source/BUILD.gn View 1 2 3 1 chunk +35 lines, -0 lines 0 comments Download
A + extensions/browser/api/dns/BUILD.gn View 1 2 3 1 chunk +6 lines, -5 lines 0 comments Download
A extensions/browser/api/document_scan/BUILD.gn View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
A + extensions/browser/api/guest_view/BUILD.gn View 1 2 3 4 5 6 1 chunk +5 lines, -5 lines 0 comments Download
A + extensions/browser/api/guest_view/app_view/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download
A + extensions/browser/api/guest_view/extension_view/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download
A + extensions/browser/api/guest_view/web_view/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download
A + extensions/browser/api/hid/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -12 lines 0 comments Download
A extensions/browser/api/idle/BUILD.gn View 1 2 3 1 chunk +20 lines, -0 lines 0 comments Download
A extensions/browser/api/management/BUILD.gn View 1 2 3 1 chunk +17 lines, -0 lines 0 comments Download
A + extensions/browser/api/messaging/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -5 lines 0 comments Download
A + extensions/browser/api/mime_handler_private/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download
A extensions/browser/api/networking_config/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +20 lines, -0 lines 0 comments Download
A extensions/browser/api/networking_private/BUILD.gn View 1 2 3 1 chunk +47 lines, -0 lines 0 comments Download
A + extensions/browser/api/power/BUILD.gn View 1 2 3 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
A extensions/browser/api/printer_provider/BUILD.gn View 1 2 3 1 chunk +18 lines, -0 lines 0 comments Download
A extensions/browser/api/printer_provider_internal/BUILD.gn View 1 2 3 4 1 chunk +16 lines, -0 lines 0 comments Download
A + extensions/browser/api/runtime/BUILD.gn View 1 2 3 4 5 6 1 chunk +7 lines, -4 lines 0 comments Download
A extensions/browser/api/serial/BUILD.gn View 1 2 3 1 chunk +20 lines, -0 lines 0 comments Download
A extensions/browser/api/socket/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +36 lines, -0 lines 0 comments Download
A + extensions/browser/api/sockets_tcp/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -7 lines 0 comments Download
A extensions/browser/api/sockets_tcp_server/BUILD.gn View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download
A + extensions/browser/api/sockets_udp/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -7 lines 0 comments Download
A extensions/browser/api/storage/BUILD.gn View 1 2 3 1 chunk +27 lines, -0 lines 0 comments Download
A extensions/browser/api/system_cpu/BUILD.gn View 1 2 3 1 chunk +19 lines, -0 lines 0 comments Download
A + extensions/browser/api/system_display/BUILD.gn View 1 2 3 4 5 6 1 chunk +6 lines, -4 lines 0 comments Download
A + extensions/browser/api/system_info/BUILD.gn View 1 2 3 1 chunk +6 lines, -5 lines 0 comments Download
A + extensions/browser/api/system_memory/BUILD.gn View 1 2 3 1 chunk +6 lines, -5 lines 0 comments Download
A + extensions/browser/api/system_network/BUILD.gn View 1 2 3 1 chunk +4 lines, -4 lines 0 comments Download
A + extensions/browser/api/system_storage/BUILD.gn View 1 2 3 4 5 6 1 chunk +6 lines, -4 lines 0 comments Download
A + extensions/browser/api/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
A + extensions/browser/api/usb/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +12 lines, -12 lines 0 comments Download
A + extensions/browser/api/virtual_keyboard_private/BUILD.gn View 1 2 3 4 5 6 1 chunk +5 lines, -4 lines 0 comments Download
A extensions/browser/api/vpn_provider/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +19 lines, -0 lines 0 comments Download
A extensions/browser/api/web_request/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +37 lines, -0 lines 0 comments Download
A extensions/browser/api/webcam_private/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +22 lines, -0 lines 2 comments Download
A extensions/browser/app_window/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +34 lines, -0 lines 0 comments Download
A extensions/browser/guest_view/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +28 lines, -0 lines 0 comments Download
A + extensions/browser/guest_view/app_view/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -6 lines 0 comments Download
A extensions/browser/guest_view/extension_options/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +18 lines, -0 lines 0 comments Download
A + extensions/browser/guest_view/extension_view/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -4 lines 0 comments Download
A + extensions/browser/guest_view/extension_view/whitelist/BUILD.gn View 1 2 1 chunk +3 lines, -4 lines 0 comments Download
A extensions/browser/guest_view/mime_handler_view/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +20 lines, -0 lines 0 comments Download
A extensions/browser/guest_view/web_view/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +30 lines, -0 lines 0 comments Download
A + extensions/browser/guest_view/web_view/web_ui/BUILD.gn View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
A + extensions/browser/install/BUILD.gn View 1 2 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
A + extensions/browser/mojo/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +8 lines, -7 lines 0 comments Download
A extensions/browser/updater/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +42 lines, -0 lines 0 comments Download
A extensions/browser/value_store/BUILD.gn View 1 2 1 chunk +33 lines, -0 lines 0 comments Download
M extensions/common/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M extensions/renderer/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 65 (41 generated)
Rahul Chaturvedi
4 years, 3 months ago (2016-09-12 23:25:05 UTC) #1
Rahul Chaturvedi
Most of this was automatically generated so the dependencies will not be optimal. The purpose ...
4 years, 3 months ago (2016-09-12 23:28:49 UTC) #4
Ken Rockot(use gerrit already)
On 2016/09/12 at 23:28:49, steel wrote: > Most of this was automatically generated so the ...
4 years, 3 months ago (2016-09-13 00:27:53 UTC) #7
Rahul Chaturvedi
I was surprised how often //skia was needed in this code. I tried weeding through ...
4 years, 3 months ago (2016-09-13 01:58:46 UTC) #8
Devlin
I took a brief look at some of these. One thing that I'd like to ...
4 years, 3 months ago (2016-09-13 17:10:49 UTC) #13
Rahul Chaturvedi
So this took some manual work, but I removed all the implicit dependencies my script ...
4 years, 3 months ago (2016-09-13 20:33:50 UTC) #14
Rahul Chaturvedi
Adding brettw@ for extensions/browser/guest_view/extension_view/whitelist/BUILD.gn OWNERs review.
4 years, 3 months ago (2016-09-13 22:31:23 UTC) #20
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/60001/extensions/browser/guest_view/extension_view/whitelist/BUILD.gn File extensions/browser/guest_view/extension_view/whitelist/BUILD.gn (left): https://codereview.chromium.org/2336843002/diff/60001/extensions/browser/guest_view/extension_view/whitelist/BUILD.gn#oldcode9 extensions/browser/guest_view/extension_view/whitelist/BUILD.gn:9: "catalog.mojom", I have no idea where this came from. ...
4 years, 3 months ago (2016-09-13 22:48:52 UTC) #23
Devlin
+cc dpranke to keep me honest here. https://codereview.chromium.org/2336843002/diff/20001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/20001/extensions/browser/BUILD.gn#newcode328 extensions/browser/BUILD.gn:328: "//extensions/browser/api", On ...
4 years, 3 months ago (2016-09-13 23:02:30 UTC) #26
brettw
The whitelist BUILD file LGTM. https://codereview.chromium.org/2336843002/diff/20001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/20001/extensions/browser/BUILD.gn#newcode328 extensions/browser/BUILD.gn:328: "//extensions/browser/api", If you convert ...
4 years, 3 months ago (2016-09-13 23:13:09 UTC) #27
Rahul Chaturvedi
Discussed it offline with Devlin. There is some value in having explicit dependencies - but ...
4 years, 3 months ago (2016-09-13 23:21:44 UTC) #28
Devlin
Looking better! Glad to see us get rid of the modifications to chrome/ build files. ...
4 years, 3 months ago (2016-09-14 21:06:52 UTC) #43
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn#newcode253 extensions/browser/BUILD.gn:253: "//extensions/browser/guest_view/app_view", On 2016/09/14 21:06:52, Devlin wrote: > What's the ...
4 years, 3 months ago (2016-09-14 21:40:17 UTC) #44
brettw
https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/updater/BUILD.gn File extensions/browser/updater/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/updater/BUILD.gn#newcode35 extensions/browser/updater/BUILD.gn:35: "//skia", If extensions/common uses skia in its public headers, ...
4 years, 3 months ago (2016-09-14 21:42:22 UTC) #47
Devlin
https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn#newcode441 extensions/browser/BUILD.gn:441: "//extensions/browser/api", On 2016/09/14 21:40:17, Rahul Chaturvedi wrote: > On ...
4 years, 3 months ago (2016-09-14 21:45:06 UTC) #48
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/160001/extensions/browser/BUILD.gn#newcode441 extensions/browser/BUILD.gn:441: "//extensions/browser/api", On 2016/09/14 21:45:05, Devlin wrote: > On 2016/09/14 ...
4 years, 3 months ago (2016-09-14 22:23:41 UTC) #49
Devlin
Nice! This looks great. Just a few more places where I think we can polish ...
4 years, 3 months ago (2016-09-14 22:50:30 UTC) #52
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/200001/extensions/browser/BUILD.gn File extensions/browser/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/200001/extensions/browser/BUILD.gn#newcode323 extensions/browser/BUILD.gn:323: "//extensions/browser/api", On 2016/09/14 22:50:29, Devlin wrote: > ditto here ...
4 years, 3 months ago (2016-09-14 23:10:25 UTC) #53
Devlin
lgtm, thanks for bearing with me through the iterations on this! https://codereview.chromium.org/2336843002/diff/200001/extensions/browser/api/document_scan/BUILD.gn File extensions/browser/api/document_scan/BUILD.gn (right): ...
4 years, 3 months ago (2016-09-15 00:08:04 UTC) #56
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/220001/extensions/browser/api/webcam_private/BUILD.gn File extensions/browser/api/webcam_private/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/220001/extensions/browser/api/webcam_private/BUILD.gn#newcode5 extensions/browser/api/webcam_private/BUILD.gn:5: assert(is_chromeos) On 2016/09/15 00:08:04, Devlin wrote: > nit: do ...
4 years, 3 months ago (2016-09-15 00:14:57 UTC) #57
Rahul Chaturvedi
https://codereview.chromium.org/2336843002/diff/220001/extensions/browser/api/webcam_private/BUILD.gn File extensions/browser/api/webcam_private/BUILD.gn (right): https://codereview.chromium.org/2336843002/diff/220001/extensions/browser/api/webcam_private/BUILD.gn#newcode5 extensions/browser/api/webcam_private/BUILD.gn:5: assert(is_chromeos) On 2016/09/15 00:08:04, Devlin wrote: > nit: do ...
4 years, 3 months ago (2016-09-15 00:14:58 UTC) #58
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/2336843002/220001
4 years, 3 months ago (2016-09-15 00:16:15 UTC) #62
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 3 months ago (2016-09-15 00:44:32 UTC) #63
commit-bot: I haz the power
4 years, 3 months ago (2016-09-15 00:46:56 UTC) #65
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/a932263a75195ad6cfe3e47dce49cc8845ded05e
Cr-Commit-Position: refs/heads/master@{#418729}

Powered by Google App Engine
This is Rietveld 408576698