./pants changed and ./pants list-owners were converted away from being pants goals and toward being "root selection" options, and we should likely do the same for dependees.
So:
# rather than...
./pants dependees --transitive $target
# ...you'd run something like
./pants --dependees=transitive list $target
There are a few reasons for this:
- it's more flexible, because you could use it with other goals: ie:
./pants --dependees=direct test $target.
- there is a possible alignment-with/replacement-for the
--changed-include-dependees flag, which represents a parallel implementation of the concept in TargetRootsCalculator
- it would be cacheable in
pantsd sooner than if we ported ./pants dependees into a --v2 task (as in this sketch)
One open question though is whether the --dependees option would include/exclude the original roots. That might also affect naming: if modeled after --changed-include-dependees, it might be a ternary option:
--changed-include-dependees=<str> (one of: [none, direct, transitive] default: 'none')
./pants changedand./pants list-ownerswere converted away from being pants goals and toward being "root selection" options, and we should likely do the same for dependees.So:
There are a few reasons for this:
./pants --dependees=direct test $target.--changed-include-dependeesflag, which represents a parallel implementation of the concept in TargetRootsCalculatorpantsdsooner than if we ported./pants dependeesinto a--v2task (as in this sketch)One open question though is whether the
--dependeesoption would include/exclude the original roots. That might also affect naming: if modeled after--changed-include-dependees, it might be a ternary option: