xml: Embed module information into core XML documentation.

This change embeds the MODULEINFO block of modules
into the core XML documentation. This provides a shared
mechanism for use by both menuselect and Asterisk for
information and a definitive source of truth.

ASTERISK-29335

Change-Id: Ifbfd5c700049cf320a3e45351ac65dd89bc99d90
This commit is contained in:
Joshua C. Colp 2021-03-09 10:54:27 -04:00 committed by George Joseph
parent 7438586d8e
commit 149e5e5b86
12 changed files with 36 additions and 11 deletions

View File

@ -490,6 +490,13 @@ doc/core-en_US.xml: makeopts .lastclean $(XML_core_en_US)
@for x in $(MOD_SUBDIRS); do \
printf "$$x " ; \
for i in `find $$x -name '*.c'`; do \
MODULEINFO=$$($(AWK) -f build_tools/get_moduleinfo $$i) ; \
if [ -n "$$MODULEINFO" ] ; \
then \
echo "<module language=\"en_US\" name=\"`$(BASENAME) -s .c $$i`\">" >> $@ ; \
echo "$$MODULEINFO" >> $@ ; \
echo "</module>" >> $@ ; \
fi ; \
$(AWK) -f build_tools/get_documentation $$i >> $@ ; \
done ; \
done

View File

@ -13,9 +13,9 @@
*/
/*** MODULEINFO
<defaultenabled>no</defaultenabled>
<depend>spandsp</depend>
<conflict>res_fax</conflict>
<defaultenabled>no</defaultenabled>
<support_level>deprecated</support_level>
<replacement>res_fax</replacement>
***/

View File

@ -26,8 +26,8 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>res_speech</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -37,8 +37,8 @@
*/
/*** MODULEINFO
<defaultenabled>no</defaultenabled>
<depend>syslog</depend>
<defaultenabled>no</defaultenabled>
<support_level>deprecated</support_level>
***/

View File

@ -43,9 +43,9 @@
*/
/*** MODULEINFO
<use type="module">res_smdi</use>
<depend>dahdi</depend>
<depend>tonezone</depend>
<use type="module">res_smdi</use>
<use type="external">pri</use>
<use type="external">ss7</use>
<use type="external">openr2</use>

View File

@ -27,8 +27,8 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>dahdi</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -1,4 +1,4 @@
<!ELEMENT docs (application|function|agi|manager|managerEvent|info|configInfo)*>
<!ELEMENT docs (module|application|function|agi|manager|managerEvent|info|configInfo)*>
<!ATTLIST docs xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
<!ELEMENT xi:include (xi:fallback?) >
@ -11,6 +11,24 @@
accept CDATA #IMPLIED
accept-language CDATA #IMPLIED >
<!ELEMENT module (depend*,use*,conflict*,defaultenabled?,support_level?,replacement?)>
<!ATTLIST module name CDATA #REQUIRED>
<!ATTLIST module language CDATA #REQUIRED>
<!ELEMENT support_level (#PCDATA)>
<!ELEMENT depend (#PCDATA)>
<!ATTLIST depend type CDATA #IMPLIED>
<!ELEMENT defaultenabled (#PCDATA)>
<!ELEMENT replacement (#PCDATA)>
<!ELEMENT use (#PCDATA)>
<!ATTLIST use type CDATA #IMPLIED>
<!ELEMENT conflict (#PCDATA)>
<!ELEMENT application (synopsis?,syntax?,description?,see-also?)>
<!ATTLIST application name CDATA #REQUIRED>
<!ATTLIST application language CDATA #REQUIRED>

View File

@ -26,11 +26,11 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>app_chanspy</depend>
<depend>func_cut</depend>
<depend>func_groupcount</depend>
<depend>func_uri</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -27,9 +27,9 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>pjproject</depend>
<depend>res_pjsip</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -27,9 +27,9 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>pjproject</depend>
<depend>res_pjsip</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -27,9 +27,9 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<depend>pjproject</depend>
<depend>res_pjsip</depend>
<support_level>core</support_level>
***/
#include "asterisk.h"

View File

@ -25,8 +25,8 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<defaultenabled>no</defaultenabled>
<support_level>extended</support_level>
***/
#include "asterisk.h"