https://pantsbuild.org/ logo
b

bored-art-40741

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
ThriftGen
task is obligated to look at an arbitrary target and say "Yeah, I can give you
'.scala'
files for this target, if you can give me
'.thrift'
files for it". Then a leaf on-disk-source-resolver task says "Yeah, I can give you
.thrift
files for this target. Here is an empty list, there are none."