catkin_tools
catkin_tools copied to clipboard
config: Add support for per-user customization `catkinrc`
As the number of customization options grows, there's more need to set up configuration defaults. catkin_tools
should read things like CLI behavior defaults from something like .config/catkin/catkinrc.yaml
.
Also consider sequence of
- /usr.../catkin...rc.yaml // to document tool convention defaults explicitly (copy&paste to start your own defaults)
- ~/.config/catkin/catkin....yaml // user preferences
- ~/ws1/.catkin..rc.yaml // project preferences
- ~/ws2/.catkin..rc.yaml // overlayed project preferences
- command line arguments (should have enforced strong syntactic resemblence to yaml config for transparency. E.g. -Dfoo.bar.1.baz=3 to navigate yaml structure for overrride)
All this is over-engineered right now, but consider this as brainstorming ideas.
Best however would be to cut down on options, because each additional option makes the number of required integration tests increase exponentially (because most combinations have to be tested).