Made another review pass for completeness. Nice work. Looks like all that's left is documentation.
There are currently two copies of "How to write a commandline Task" and "How to write a Task" the dox version is in pipe_tasks and the rst version is in pipe_base. We're in transition. I would say you must update the rst and should update the dox.
I reviewed the dox first so I'll put those down first only because the comments are more complete.
pipe_tasks:
pipe_tasks/doc/old/writeCmdLineTask.dox:
- run--> runDataRef lines 51, 53, 68, 86, 151, 176, 190, 202, 280
- in: 198 \section pipeTasks_writeCmdLineTask_customTaskRunner Custom Task Runner
It’d be good to add the sentence to the intro of custom TaskRunners: “If your Task uses the pre-2018 naming convention and has a `run` method that operates on a `DataRef` instead of a `runDataRef`, you can still run this as a CmdLineTask by using the \ref lsst.pipe.base.cmdLineTask.LegacyTaskRunner "lsst.pipe.base.LegacyTaskRunner”, which will call your Task’s `run` method.”
pipe_tasks/doc/old/writeTask.dox:
- line 150 should now be be: “In addition, Command-line tasks require a `runDataRef` method that fetches the appropriate data products specified by Gen-2 Butler DataRefs”
- 164: The `run` and `runDataRef` methods should always…
- 174: `runDataRef` does everything
- 215: Including `run` and `runDataRef` (if present)
pipe_base:
pipe_base/doc/lsst.pipe.base/command-line-task-retargeting-howto.rst
lines: 32, 39, 55, 75, 131, 146, 174, 193
pipe_base/doc/lsst.pipe.base/command-line-task-retargeting-howto.rst
- lines: 32, 39, 55, 75, 131, 146, 174, 193
- add the info from the old docs about the LegacyTaskRunner here in the Custom Task Runner section that begins with 208. 244, 247
Nice doc string in TaskRunner.runTask, but check the veracity of the copied and pasted text from _call_.
pipe_base/python/lsst/pipe/base/task.py:
- docstring for Task. ``run`` —> ``runDataRef``
pipe_drivers:
Note to Self: Reminding myself that `CalibCombineTask` is OK as is since its not a cmdlineTask and will be refactored later. Tasks in obs_subaru liek HscFlatCombineTask inherit from this.
pipe_drivers/python/lsst/pipe/drivers/utils.py
- line 13 should prob say `runDataRef`
And finally squash the commits in all packages.
This is likely something that will be tackled (or, perhaps, rendered redundant) by the work described at
DM-3756. It's a valid issue for now so I'm not "Won't Fix"ing it, but please checkDM-3756before picking it up to work on.