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

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

Timur Abishev
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.

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