[engine] Move dependencies onto configuration

Review Request #3316 — Created Jan. 7, 2016 and submitted

stuhood
pants
2780
3339
pants-reviews
benjyw, ity, jsirois, patricklaw

This change is a prerequisite for #2782, because in order to fully declare dependencies, it is necessary to replace the primary/alternate Subject mechanism with an approach that is based on generating a Sources config with its dependencies present.

  • Rename Configuration to Struct, to better encapsulate how it is being used (the Target.configurations field keeps its name)
  • Move dependencies off of Target and onto configuration: some configurations of a Target have dependencies (JavaSources/ThriftSources) but others don't (Resources/BuildProperties, etc) which allows for type safety, and additionally the requesting of products only for configurations that require them.

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

Loading...