• steel's avatar
    Decompose //extensions/browser/BUILD.gn · a932263a
    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
BUILD.gn 616 Bytes