allow dumping and loading the manifest file
allow tweaking it and using the tweaked version in future builds.
About making the current way more flexible, i do agree, but there always will be things that will be hard to support without more or less giving a tree like structure instead of just flat options, so short of doing a full mapping of the xml file through json/yaml or whatever (with very dubious benefits imho) giving a direct access to the file is more or less necessary.
would an xml "merge" be a better way, allowing to add or replace part of the xml file with determined sections, be a better plan? or even, simple diff/patch logic so the user can simply apply their change? Maybe giving a python access to the xml tree through a hook system, allowing one to add/remove/update the nodes? Because exposing all the possible xml options seems like an endless churn to me.
I would love to be able to extend the default template file with arbitrary blocks for my project
Related to #1922 #2200