• Peter Wen's avatar
    Android: Add more java build configs to depfile · 8d7f97f4
    Peter Wen authored
    Recursive resource deps is meant for an android_library target to
    directly depend on all of its transitive resource deps. A target that
    does this also needs to rebuild its build config file when its
    transitive java library deps change, since otherwise, if a transitive
    resource dep is removed from the build by being removed from the java
    target that used to depend on it, the recursive resource target's build
    config would be stale and the removed resource would be included in the
    final apk/bundle.
    
    Example:
    
    A: Resource dep that turns on recursive_resource_deps.
    B: Java library
    C: Java library
    D: Resource dep
    
    A depends on B depends on C depends on D.
    
    Previously, A's depfile would only contain D.build_config. But if C
    removes D as a dependency, and the removal doesn't result in a change
    for B.build_config, A.build_config would not be rebuilt, since it only
    depends on B.build_config (via direct dep) and D.build_config (via
    recursive_resources_deps). Thus entirely missing the change to
    C.build_config.
    
    Bug: 1168655
    Fixed: 1168655
    Change-Id: I500d307802d64ef81099540ebd6fb54f4953c270
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2639227Reviewed-by: default avatarClark DuVall <cduvall@chromium.org>
    Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Auto-Submit: Peter Wen <wnwen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#845762}
    8d7f97f4
write_build_config.py 83 KB