[jvm-compile] narrow compile dependencies from full closure to just next nearest invalid compilation targets

Review Request #4136 - Created Aug. 5, 2016 and submitted

Nick Howard (Twitter)
benjyw, jsirois, stuhood

I was in this code a couple months ago and noticed that each compile unit in the compile graph depends on the full transitive closure of its invalid dependencies.

This reduces that to just the nearest ones. It makes the debug graphs much more reasonable to render, and should reduce the scheduler overhead of large graphs somewhat.

Tests passed last time, but I've merged master and am rerunnning CI on the associated pull request.

Benjy Weinberger
Nick Howard (Twitter)
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as https://github.com/pantsbuild/pants/commit/c2cd962bc4758a728a2fe30fe951e0ab49f5b433