• Peter Wen's avatar
    Android: Use turbine to generate java headers (Reland) · 578730be
    Peter Wen authored
    See go/faster-javac for a detailed analysis of why turbine was chosen to
    speed up our java builds. The current implementation is an initial
    implementation that can be further optimized. It already gives savings
    of 10-30% of our java incremental builds depending on the target in
    question (see go/project-turbo for timing details).
    
    This implementation does remove some of the benefits of the previous way
    that java_library_impl was implemented, namely when a target's
    .interface.jar file changes, it no longer short-circuits dependent
    targets from being built since we now use group(target_name). This is
    arguably more correct as prebuilts depend on javac jars directly. In the
    future (after the androidx migration and other build improvements) this
    can be improved by having prebuilts depend on the interface jars
    instead.
    
    Original CL: https://crrev.com/c/2105415
    
    Fixed jacoco instrument not having header deps.
    
    Bug: 1056299, 1062704
    Change-Id: I9a6c3242a04c6c57bb3c8f5bb7542c5a4301d1b5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2110431Reviewed-by: default avatarPeter Wen <wnwen@chromium.org>
    Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
    Commit-Queue: Peter Wen <wnwen@chromium.org>
    Auto-Submit: Peter Wen <wnwen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#751777}
    578730be
BUILD.gn 85.2 KB