dep-usage: create edge only for those direct or transitive dependencies.

Review Request #3978 — Created June 6, 2016 and submitted

nhoward_tw, stuhood, zundel

Discovered this while working on using dep-usage to clean up twitter internal
build files, when a source file belongs to more than one target, say :a and
:b both contain, not uncommon when globs especially rglobs is used.
:d depends on implicitly through :c, which further depends on
:a, in this case, only :a should be marked as undeclared dependency.
Marking :b as undeclared dependency can potentially introduce circular
dependency, in this example, say :b also depends on :c.

This review applies the smae check used by JvmDependencyCheck also in
JvmDependencyUsage. passed

  2. Please add a bit more explanation here: some of what is in the review description would be good.

    1. Added a bit more.

  3. Please end comments in a period.

Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as 5d6560393299780cdb38252c5e9803445166bd3f