gnome.gtkdoc: Extend GtkDoc test
The GtkDoc test has been extended to also test the inclusion of generated files. To test this, a new python script has been included which generates a new docbook file which is included as content file.
This commit is contained in:
parent
f022cb3a40
commit
7f78b8aafc
|
@ -34,6 +34,7 @@
|
||||||
</para>
|
</para>
|
||||||
</partintro>
|
</partintro>
|
||||||
<xi:include href="xml/foo.xml"/>
|
<xi:include href="xml/foo.xml"/>
|
||||||
|
<xi:include href="../include/bar.xml"/>
|
||||||
<xi:include href="xml/foo-version.xml"/>
|
<xi:include href="xml/foo-version.xml"/>
|
||||||
</reference>
|
</reference>
|
||||||
|
|
||||||
|
|
|
@ -4,4 +4,8 @@ configure_file(input : 'version.xml.in',
|
||||||
output : 'version.xml',
|
output : 'version.xml',
|
||||||
configuration : cdata)
|
configuration : cdata)
|
||||||
|
|
||||||
gnome.gtkdoc('foobar', src_dir : inc, main_sgml : 'foobar-docs.sgml', install : true)
|
gnome.gtkdoc('foobar',
|
||||||
|
src_dir : inc,
|
||||||
|
main_sgml : 'foobar-docs.sgml',
|
||||||
|
content_files : docbook,
|
||||||
|
install : true)
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
DOC_HEADER = '''<?xml version='1.0'?>
|
||||||
|
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||||
|
|
||||||
|
<refentry id="{0}">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle role="top_of_page" id="{0}.top_of_page">{0}</refentrytitle>
|
||||||
|
<refmiscinfo>{0}</refmiscinfo>
|
||||||
|
</refmeta>
|
||||||
|
<refnamediv>
|
||||||
|
<refname>{0}</refname>
|
||||||
|
<refpurpose></refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsect2 id="{1}" role="enum">
|
||||||
|
<title>enum {1}</title>
|
||||||
|
<indexterm zone="{1}">
|
||||||
|
<primary>{1}</primary>
|
||||||
|
</indexterm>
|
||||||
|
<para><link linkend="{1}">{1}</link></para>
|
||||||
|
<refsect3 role="enum_members">
|
||||||
|
<title>Values</title>
|
||||||
|
<informaltable role="enum_members_table" pgwide="1" frame="none">
|
||||||
|
<tgroup cols="4">
|
||||||
|
<colspec colname="enum_members_name" colwidth="300px" />
|
||||||
|
<colspec colname="enum_members_value" colwidth="100px"/>
|
||||||
|
<colspec colname="enum_members_description" />
|
||||||
|
<tbody>
|
||||||
|
'''
|
||||||
|
|
||||||
|
DOC_ENUM = ''' <row role="constant">
|
||||||
|
<entry role="enum_member_name"><para>{0}</para><para></para></entry>
|
||||||
|
<entry role="enum_member_value"><para>= <literal>{1}</literal></para><para></para></entry>
|
||||||
|
<entry role="enum_member_description"></entry>
|
||||||
|
</row>'''
|
||||||
|
|
||||||
|
DOC_FOOTER = '''
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
</refsect3>
|
||||||
|
</refsect2>
|
||||||
|
</refentry>
|
||||||
|
'''
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if len(sys.argv) >= 4:
|
||||||
|
with open(sys.argv[1], 'w') as doc_out:
|
||||||
|
enum_name = sys.argv[2]
|
||||||
|
enum_type = sys.argv[3]
|
||||||
|
|
||||||
|
doc_out.write(DOC_HEADER.format(enum_name, enum_type))
|
||||||
|
for i, enum in enumerate(sys.argv[4:]):
|
||||||
|
doc_out.write(DOC_ENUM.format(enum, i))
|
||||||
|
doc_out.write(DOC_FOOTER)
|
||||||
|
else:
|
||||||
|
print('Use: ' + sys.argv[0] + ' out name type [enums]')
|
||||||
|
|
||||||
|
sys.exit(0)
|
|
@ -8,3 +8,9 @@ configure_file(input : 'foo-version.h.in',
|
||||||
configuration : cdata,
|
configuration : cdata,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : get_option('includedir'))
|
install_dir : get_option('includedir'))
|
||||||
|
|
||||||
|
generate_enums_docbook = find_program('generate-enums-docbook.py')
|
||||||
|
|
||||||
|
docbook = custom_target('enum-docbook',
|
||||||
|
output : 'bar.xml',
|
||||||
|
command : [generate_enums_docbook, '@OUTPUT@', 'BAR', 'BAR_TYPE', 'BAR_FOO'])
|
||||||
|
|
Loading…
Reference in New Issue