Android: Use turbine to generate java headers (Reland)
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:Peter Wen <wnwen@chromium.org> Reviewed-by:
Andrew 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}
Showing
build/android/gyp/turbine.py
0 → 100755
This diff is collapsed.
Please register or sign in to comment