Add --yaml-extend option to allow modifying rosdoc2.yaml #151
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR allows the person running rosdoc2 to specify a yaml file that will override documentation options that are set in a package.
I see two primary context that this might be used.
First, in a demo build such as I currently show at https://rosdoc2.rosdabbler.com/, it allows me to demonstrate to package authors what their rosdoc2 output would look like if they did certain recommended changes to their configuration. I don't believe this is a particularly controversial use, and it will be helpful to anyone working with package authors to improve their usage of rosdoc2.
The second possible context is to use a centrally-curated extension file to either fix or modify the configuration of packages in the standard runs of rosdoc2. I don't know if this will be a good idea or not, but whether we do this or not is a decision for a different time. But this could be used, for example, to disable running doxygen in packages where the output is both useless and very time consuming.
There was some refactoring to allow this to be done that is some of the complexity of this patch.
The extension file is typically divided into sections, that may have special options (mostly to be added later), but also according to their usage. You can see the extension file I am currently using here which gives you an idea on how this would be used.