Cache `dep-usage.jvm` results and provide ability to use cached results in analysis summary

Review Request #3612 - Created March 25, 2016 and submitted

Information
Timur Abishev
pants
tabishev/depjvm_caching
3093
Reviewers
pants-reviews
benjyw, patricklaw, stuhood, zundel

Current implementation of dep-usage.jvm working slow for big target's sets mainly because it require compilation results of all targets in analysis, which led to a lot of compilation or to retrieve a lot of data from build cache. Alternatively it's possible to cache dep-usage.jvm results for each target and use them to build analysis summary.

This RB adding build cache support for dep-usage.jvm. However using cached results is disabled by default and supported via --use-cached flag.

There are couple of reasons for this behavior:
- It's impossible to fallback to direct version in case of values absence in the cache. To decrease execution time we want not to require runtime_classpath product for analysis, and therefore it's impossible to ask for this data while task execution.
- Cached results can differ from direct results because we are ignoring 3rd party libraries resolved versions in a cache key. This information most likely not affect the analysis summary, but in some rear cases it can.

https://travis-ci.org/ttim/pants/builds/119111743

Stu Hood
Timur Abishev
Timur Abishev
Stu Hood
Timur Abishev
Stu Hood
Timur Abishev
Review request changed

Status: Closed (submitted)

Change Summary:

Merged as 3598a544100e69a3e8077f2e567c5c18dfd02d22

Loading...