Reversing this review; I took a look at Perry's code (which was fine, but could be simplified in some case), and made some modifications, which I'd now like him to look at.
Updates are on u/jbosch/
DM-958 of afw, meas_base, and pipe_tasks. ip_diffim is unchanged, so changes there are still on tickets/ DM-958.
- in afw, I added a constructor to Schema set the version and made SchemaMapper use the version of the input Schema to set the version of the output Schema when it's not given. I did not remove Schema.setVersion() as we'd discussed before; that would have caused too much trouble with the "minimal schema" mechanisms, and I think it's better to just leave Schema.setVersion() and be careful with it until we can remove it. Looks like being safe hasn't been that difficult so far.
- in meas_base, I removed a lot of the explicit setVersion() calls in the test code, because the version is now ensured by either the changes in afw or a change in meas/base/tests.py
- in pipe_tasks, I made it so the tableVersion used by CalibrateTask is set by the version of its own measurement subtask instead of passed by ProcessImage. But I've also added validate checks to both tasks to make sure the tableVersion is the same for all three measurement subtasks (I think this was de facto required before, and if not I think it's an okay thing to require).
Perry, could you take a quick look at my branches and see if you disagree with anything, and then run your one-off processCcd test suite as well?
This is not a rush (aside from just the end of the sprint at the end of the week), as I'll do other tickets on top of these branches and rebase later.