A uniform way of expressing Task and Subsystem dependencies.

Review Request #2653 — Created Aug. 18, 2015 and submitted — Latest diff uploaded

benjyw
pants
1957
aad3d8d...
pants-reviews
gmalmquist, jsirois
Introduces the concept of a subsystem client, which Task
and Subsystem mix in (this is not in Optionable because
the GlobalOptionsRegistrar must not depend on any subsystems).

All subsystem dependencies are expressed by the client by
implementing subsystem_dependencies(). That dependency
consists of a subsystem type and a scope. This generalizes
the previous concept of global and task-specific subsystem
dependencies.

Contains a temporary hack so that the old declarations still
work.  Those will be mopped up in a followup change, just
to keep this one from spiraling out too much.

Issue: https://github.com/pantsbuild/pants/issues/1957

CI passes: https://travis-ci.org/pantsbuild/pants/builds/76136929.

Loading...