Seperate out AddressMapper from Graph.

Review Request #2931 - Created Oct. 5, 2015 and submitted

Information
John Sirois
pants
jsirois/engine/graph/address_mapper
2308, 2319
d027a20...
Reviewers
pants-reviews
benjyw, ity, patricklaw, stuhood
This restricts responsibility of Graph to just linking addressables.
Currently Graph links via inlining fully hydrated objects, but it or an
alternative could also traverse to addressables on demand.

With AddressMapper extracted, an interface for BUILD file invalidation
comes to the fore and allows straight-forward integration of in
invalidation system that watches the build root for BUILD file
additions, removals and modifications.

 src/python/pants/engine/exp/BUILD                                        |   1 -
 src/python/pants/engine/exp/graph.py                                     |  51 +++++----------------
 src/python/pants/engine/exp/mapper.py                                    |  97 ++++++++++++++++++++++++++++++++++++++-
 tests/python/pants_test/engine/exp/BUILD                                 |   4 ++
 tests/python/pants_test/engine/exp/examples/mapper_test/a/b/b.BUILD.json |  12 +++++
 tests/python/pants_test/engine/exp/examples/mapper_test/a/c/README       |   2 +
 tests/python/pants_test/engine/exp/test_graph.py                         |   6 ++-
 tests/python/pants_test/engine/exp/test_mapper.py                        | 122 +++++++++++++++++++++++++++++++++++++++++++++++++-
 8 files changed, 250 insertions(+), 45 deletions(-)
CI went green here:
  https://travis-ci.org/pantsbuild/pants/builds/83782626
John Sirois
Benjy Weinberger
John Sirois
John Sirois
Review request changed

Status: Closed (submitted)

Loading...