xmldoc: Allow XML docs to be reloaded.

The XML docs are currently only loaded on
startup with no way to update them during runtime.
This makes it impossible to load modules that
use ACO/Sorcery (which require documentation)
if they are added to the source tree and built while
Asterisk is running (e.g. external modules).

This adds a CLI command to reload the XML docs
during runtime so that documentation can be updated
without a full restart of Asterisk.

ASTERISK-30289 #close

Change-Id: I4f265b0e5517e757c5453a0f241201a5788d3a07
This commit is contained in:
Naveen Albert
2022-11-05 12:11:08 +00:00
committed by Joshua Colp
parent 9c0fc320ef
commit 1da5eb3795
3 changed files with 109 additions and 24 deletions

View File

@@ -1099,7 +1099,9 @@ static int xmldoc_update_config_type(const char *module, const char *name, const
}
if (!(results = ast_xmldoc_query("/docs/configInfo[@name='%s']/configFile/configObject[@name='%s']", module, name))) {
ast_log(LOG_WARNING, "Cannot update type '%s' in module '%s' because it has no existing documentation!\n", name, module);
ast_log(LOG_WARNING, "Cannot update type '%s' in module '%s' because it has no existing documentation!"
" If this module was recently built, run 'xmldoc reload' to refresh documentation, then load the module again\n",
name, module);
return XMLDOC_STRICT ? -1 : 0;
}