[engine] Implement the BuildGraph interface via the engine

Review Request #3516 - Created March 1, 2016 and submitted

Information
Stu Hood
pants
2979, 2987
3514
Reviewers
pants-reviews
benjyw, ity, jsirois, kwlzn, patricklaw, peiyu

This review implements the interface extracted in #3514 using a Scheduler and Engine. With the exception of supporting synthetic target injection (which we hope to remove during the port to the new engine), it should be a "complete" BuildGraph impl.

  • Convert the legacy list impl to dependencies by requesting recursive parsing.
  • Split graph/parser modules out of commands.
  • Subclass BuildGraph with ExpGraph, which is backed by a Scheduler and Engine.
  • Remove goals from BuildRequest and rename to ExecutionRequest... leave def build_request, which translates goals to products
  • Move/remove exp.Target into exp.examples.Target. Struct and its mixins (in particular HasStructs) are the fundamental concepts consumed by the engine.
  • Remove the Scheduler.walk_product_graph method in favor of direct access.
  • Add a def kwargs convenience method to Struct, which strips internal fields.

https://travis-ci.org/pantsbuild/pants/builds/112984994

Issues

  • 0
  • 2
  • 0
  • 2
Description From Last Updated
Stu Hood
Kris Wilson
Stu Hood
Kris Wilson
Patrick Lawson
Stu Hood
Kris Wilson
Peiyu Wang
Stu Hood
Review request changed

Status: Closed (submitted)

Change Summary:

Merged as a08935def091fc02c33b6bf1734b50d70c362cfe

Loading...