walk synthetic targets dependencies when constructing context.target()
Review Request #1914 - Created March 13, 2015 and submitted
|Nick Howard (Twitter)|
|dturner-tw, ity, jsirois, tejal|
A recent change made it so that synthetic targets dependencies aren't traversed which caused their 3rdparty deps to be not added to the classpath in certain cases. This caused compilation errors. This patch retains the derivation checks from the previous one, but expands the synthetic targets after determining which ones are needed.
RB of the patch that changed the ordering which caused the issue: https://rbcommons.com/s/twitter/r/1863/
wrote unit test, verified existing behavior. ran context tests. CI baking at https://travis-ci.org/pantsbuild/pants/builds/54317247
I would hold off on this. I'm in the process of putting together a repro of a (somewhat critical) failure due to the original synthetic target change to
Context.targets. I'll suggest reverting that there, which would also necessitate reverting this.