10/27/2015, 11:36 PM
It is trivially cached, so I'm not concerned about perf, but if we're treating sources as products (as we should and must for codegen) and we're not explicitly typing targets (i.e. there's no difference between thrift_library and scala_library except configuration, and even then in simple cases the only difference might be the sources captured in the BUILD file), then during promise resolution time the
task is obligated to look at an arbitrary target and say "Yeah, I can give you
files for this target, if you can give me
files for it". Then a leaf on-disk-source-resolver task says "Yeah, I can give you
files for this target. Here is an empty list, there are none."