ancient-vegetable-10556
03/09/2022, 5:21 PMhundreds-father-404
03/09/2022, 5:24 PMprotobuf_source
for now. Doing it via dependency injection is a good followup, and Python has precedent (including w/ resolves)ancient-vegetable-10556
03/09/2022, 5:24 PMfast-nail-55400
03/09/2022, 5:30 PMSweet! Re runtime dependencies, my advice to Tom for Go Protobuf is rely on manually adding the dep toFor Go, it was not necessary to manually add the dep. The Go Protobuf rules run the Go package analyzer on the generated sources to obtain imports. Those imports are then matched against third-party packages and the applicablefor now. Doing it via dependency injection is a good followup, and Python has precedent (including w/ resolves)protobuf_source
BuildGoPackageRequest
obtained and added.ancient-vegetable-10556
03/09/2022, 5:30 PMfast-nail-55400
03/09/2022, 5:30 PMancient-vegetable-10556
03/09/2022, 5:33 PMwitty-crayon-22786
03/09/2022, 5:47 PMClasspathEntryRequest.for_targets
to account for codegen probably.ancient-vegetable-10556
03/09/2022, 6:22 PMCoarsenedTarget
rather than just the representative one
• Allowing for multiple generated language backends to be enabled at onceGeneratedSourcesRequest
and you get compilation for free.witty-crayon-22786
03/09/2022, 11:24 PMancient-vegetable-10556
03/10/2022, 9:12 PMgenerators
field, which allows multiple languages to be specified for a single target
• A generator
field, which allows a single language to be specified, but can be parameterized (this seems extremely fraught in the JVM cases)
• A jvm_language
field, which is specifically for determining the single JVM language that should be used when compiling?hundreds-father-404
03/10/2022, 9:16 PMA generators field, which allows multiple languages to be specified for a single targetThis. See this comment for why we need it that way for Python to work with multiple resolves: https://github.com/pantsbuild/pants/issues/14484#issuecomment-1057601055
generators
, like how to determine we call it "python"
. This may give some inspiration https://github.com/pantsbuild/pants/pull/14356ancient-vegetable-10556
03/10/2022, 9:18 PMfast-nail-55400
03/10/2022, 9:22 PMwitty-crayon-22786
03/10/2022, 9:23 PMancient-vegetable-10556
03/10/2022, 9:24 PMhundreds-father-404
03/10/2022, 9:24 PMwitty-crayon-22786
03/10/2022, 9:24 PMconfiguration
we’ll want them singular. it’s just not coming anytime soon.ancient-vegetable-10556
03/10/2022, 9:24 PMwitty-crayon-22786
03/10/2022, 9:25 PMDoes it make sense to ever generate both Java-Thrift and Java-Scrooge?it would if they had different addresses via either being separate targets or via parametrization (with config or no)
fast-nail-55400
03/10/2022, 9:42 PMancient-vegetable-10556
03/10/2022, 9:43 PMfast-nail-55400
03/10/2022, 9:44 PM