happy-kitchen-89482
05/12/2025, 8:56 PMwide-midnight-78598
05/12/2025, 9:47 PMwide-midnight-78598
05/12/2025, 9:47 PMwide-midnight-78598
05/12/2025, 9:48 PMwide-midnight-78598
05/12/2025, 9:56 PMhappy-kitchen-89482
05/12/2025, 10:01 PMfast-nail-55400
05/13/2025, 3:33 PMimplicitly when run against the JVM protobuf codegen backends.
• The migration script failed to put a Process inside implicitly for fallible_to_exec_result_or_raise resulting in rule graph errors (in Java codegen protobuf backend).
• If the migration script is applied to a file again, some call-by-name usages are renamed unnecessarily, e.g. get_source_root to get_source_root_get
• For the docs, the backends to be migrated must be activated in pants.toml.
If there is an "easy" fix for any of these, would love a pointer to where to fix.fast-nail-55400
05/13/2025, 3:35 PMimplicitly. This may still require implicitly to be present of there are other args, but should still look nicer. Thoughts?fast-nail-55400
05/13/2025, 3:45 PMtransitive_targets rule always renamed to transitive_targets_get since most uses assign result to transitive_targetsfast-nail-55400
05/13/2025, 3:45 PMtransitive_targets rule to have a verb in it?fast-nail-55400
05/13/2025, 4:15 PMpants.base.exceptions.RuleTypeError: /Users/tdyas/Projects/Pants/pants/src/python/pants/backend/kotlin/compile/kotlinc_plugins.py:138: Could not resolve type for `artifact_field.to_address_input` in module pants.backend.kotlin.compile.kotlinc_plugins.fast-nail-55400
05/13/2025, 4:16 PMto_address_input has a return type annotation: https://github.com/pantsbuild/pants/blob/af8f979637dd1616927bb41a259d9d1a77e3366b/src/python/pants/backend/kotlin/target_types.py#L191wide-midnight-78598
05/13/2025, 4:17 PMimplicitly
>
I'm surprised it sometimes isn't like that - seems like the most intuitive when making a function, but at the same time, it didnt really "matter" in the Get syntaxwide-midnight-78598
05/13/2025, 4:19 PMFor the docs, the backends to be migrated must be activated inYeah, I updated the tracking ticket with an example - as I think it was easy to gloss over the comment.pants.toml
wide-midnight-78598
05/13/2025, 4:24 PMfast-nail-55400
05/13/2025, 5:09 PME native_engine.IntrinsicError: Call(pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins, MaterializedJvmPlugins) was not detected in your @rule body at rule compile time.
If one rule references another rule via call-by-name in the same file, then the referenced rule apparently must be defined first, or else this error results.wide-midnight-78598
05/13/2025, 5:26 PMrule_helper. I saw the rule, but didn't realize the location was belowfast-nail-55400
05/13/2025, 5:43 PM--- a/src/python/pants/backend/kotlin/compile/kotlinc_plugins.py
+++ b/src/python/pants/backend/kotlin/compile/kotlinc_plugins.py
@@ -136,7 +136,8 @@ async def resolve_kotlinc_plugins_for_target(
plugin[KotlincPluginArtifactField].to_address_input() for plugin in candidate_plugins
]
artifact_addresses = await concurrently(
- resolve_address(**implicitly(address_input)) for address_input in address_inputs
+ resolve_address(**implicitly({address_input: AddressInput}))
+ for address_input in address_inputs
)
candidate_artifacts = await resolve_targets(**implicitly(Addresses(artifact_addresses)))fast-nail-55400
05/13/2025, 5:44 PMaddress_inputs is explicitly typed as list[AddressInput]fast-nail-55400
05/13/2025, 9:25 PMwide-midnight-78598
05/13/2025, 9:37 PMfast-nail-55400
05/13/2025, 9:54 PMfast-nail-55400
05/13/2025, 9:54 PMUnionRule where multiple plugins could provide rules?fresh-mechanic-68429
05/14/2025, 12:53 AMpants.backend.experimental.go
pants.backend.experimental.go.debug_goals
pants.backend.experimental.java.debug_goalsfresh-mechanic-68429
05/14/2025, 1:08 AMpants migrate-call-by-name src/python/pants/backend/experimental/go/:: returns None of the 12 requested files are part of the 197 files in the migration plan.
But there are files that are imported by that register.py, they just exist in pants.backend.go Should I migrate the entire go backend?wide-midnight-78598
05/14/2025, 1:34 AMfresh-mechanic-68429
05/14/2025, 1:37 AMpants.backend.experimental.go is. I guess thats the primary go backend though, I don't see one called pants.backend.gowide-midnight-78598
05/14/2025, 1:39 AMwide-midnight-78598
05/14/2025, 1:41 AMpants.backend.experimental.go.debug_goalsfresh-mechanic-68429
05/14/2025, 1:44 AMpants.backend.go.goals and pants.backend.experimental.go.registerwide-midnight-78598
05/14/2025, 1:48 AMwide-midnight-78598
05/14/2025, 1:49 AMfresh-mechanic-68429
05/14/2025, 1:58 AMpants migrate-call-by-name src/python/pants/backend/go/goals/debug_goals.py
Running over the actual location of the register.py didn't work. ie pants migrate-call-by-name src/python/pants/backend/experimental/go/debug_goals/::wide-midnight-78598
05/14/2025, 1:59 AMwide-midnight-78598
05/14/2025, 1:59 AMfresh-mechanic-68429
05/14/2025, 2:00 AMwide-midnight-78598
05/14/2025, 2:05 AM