Support for optional product requirements.
Review Request #4071 — Created July 12, 2016 and submitted
|kwlzn, mateor, stuhood, zundel|
That is, you can now request products for the purpose of scheduling in the round manager, but it won't be an error if nothing produces them. This is then used in ide_gen.py, to request source products ('java', 'python', etc.) This provides an alternative solution to the problem of failing on missing products when no codegen produces those source products. The previous solution (cb78b0ef7bc) was to have source roots implicitly provide those products. However this caused performance issues because we have to scan the filesystem for source roots. This solution does not have that problem.
CI passes: https://travis-ci.org/pantsbuild/pants/builds/144046650
I verified that this fixes the CI performance issues introduced by cb78b0ef7bc.
Thanks Stu. Submitted as dbc708f164ecc2d9c614f2386a28f0f445b202b6, to get rid of the CI perf issues ASAP. If other reviews have comments to address, I'll do those in another change.
Sorry I am late on the review. I love this feature though!