-
steel authored
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 Review-Url: https://codereview.chromium.org/2336843002 Cr-Commit-Position: refs/heads/master@{#418729}
a932263a