From 8b42a4928a0a266c3b3ae6bb13997764bc7f6405 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Tue, 13 Mar 2007 03:42:04 -0400 Subject: add the last bits of spec framework The spec is the introspection format extended with docs. There are tools to build docbook and strip the docs to make dbus introspect xml. --- doc/tools/spec-strip-docs | 34 ++++ doc/tools/spec-strip-docs.xsl | 36 ++++ doc/tools/spec-to-docbook | 34 ++++ doc/tools/spec-to-docbook.xsl | 379 ++++++++++++++++++++++++++++++++++++++++++ doc/tools/update-from-spec | 25 +++ 5 files changed, 508 insertions(+) create mode 100755 doc/tools/spec-strip-docs create mode 100644 doc/tools/spec-strip-docs.xsl create mode 100755 doc/tools/spec-to-docbook create mode 100644 doc/tools/spec-to-docbook.xsl create mode 100755 doc/tools/update-from-spec (limited to 'doc/tools') diff --git a/doc/tools/spec-strip-docs b/doc/tools/spec-strip-docs new file mode 100755 index 0000000..52d84bc --- /dev/null +++ b/doc/tools/spec-strip-docs @@ -0,0 +1,34 @@ +#!/bin/sh + +DIST_BIN=`dirname "$0"` + +CMD=xsltproc +XSL=${DIST_BIN}/spec-strip-docs.xsl + +if test "x$1" = "x" -o "x$1" = "x-h" -o "x$1" = "x--help"; then + echo "usage: $0 [file] ..." + exit 1 +fi + +if [ ! -r ${XSL} ]; then + echo "Cannot find XSLT file" + exit 1 +fi + +FILES="$@" +for FILE in $FILES; do + echo "${FILE}" | grep ".xml$" > /dev/null + if [ $? -ne 0 ]; then + echo "Skipping non-xml file: ${FILE}" + continue + fi + + d=`dirname ${FILE}` + b=`basename ${FILE} .xml` + + outfile="${b}-no-docs.xml" + echo "Creating: ${outfile}" + ${CMD} ${XSL} ${FILE} | tail -n +2 > ${outfile} +done + +exit 0 diff --git a/doc/tools/spec-strip-docs.xsl b/doc/tools/spec-strip-docs.xsl new file mode 100644 index 0000000..21ad558 --- /dev/null +++ b/doc/tools/spec-strip-docs.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/tools/spec-to-docbook b/doc/tools/spec-to-docbook new file mode 100755 index 0000000..883e2ba --- /dev/null +++ b/doc/tools/spec-to-docbook @@ -0,0 +1,34 @@ +#!/bin/sh + +DIST_BIN=`dirname "$0"` + +CMD=xsltproc +XSL=${DIST_BIN}/spec-to-docbook.xsl + +if test "x$1" = "x" -o "x$1" = "x-h" -o "x$1" = "x--help"; then + echo "usage: $0 [file] ..." + exit 1 +fi + +if [ ! -r ${XSL} ]; then + echo "Cannot find XSLT file" + exit 1 +fi + +FILES="$@" +for FILE in $FILES; do + echo "${FILE}" | grep ".xml$" > /dev/null + if [ $? -ne 0 ]; then + echo "Skipping non-xml file: ${FILE}" + continue + fi + + d=`dirname ${FILE}` + b=`basename ${FILE} .xml` + + outfile="ref-${b}.xml" + echo "Creating: ${outfile}" + ${CMD} ${XSL} ${FILE} | tail -n +2 > ${outfile} +done + +exit 0 diff --git a/doc/tools/spec-to-docbook.xsl b/doc/tools/spec-to-docbook.xsl new file mode 100644 index 0000000..26b5937 --- /dev/null +++ b/doc/tools/spec-to-docbook.xsl @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + + interface + + + + Methods + + + + + + + + + Signals + + + + + + + + + Implemented Interfaces + + implements + org.freedesktop.DBus.Introspectable, + org.freedesktop.DBus.Properties + + + + + Properties + + + + + + + + + Description + + + + + + + Details + + + + + + + Signal Details + + + + + + + Property Details + + + + + + + + + + + + + + +: + + + + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property + +'' + + + + + + + + + + + + + +: + + + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal + + () + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Since + + + + + + + + + + + +See also: + + + + + + + + + + + + + + + + + + + + + + + + + + + +: + + + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> () + + () + + + + + + + + + + + + + + + + +:'' + + + + + + + + + + + + +::() + + + + + + + + + + + + +.() + + + + + +'' +, + + + + + +'' +, + + + + + + +'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/tools/update-from-spec b/doc/tools/update-from-spec new file mode 100755 index 0000000..b20e875 --- /dev/null +++ b/doc/tools/update-from-spec @@ -0,0 +1,25 @@ +#!/bin/sh + +DIST_BIN=`dirname "$0"` + +cd ${DIST_BIN} +cd ../xml +../tools/spec-to-docbook ../spec/*.xml +if [ $? -ne 0 ]; then + exit 1 +fi + +cd ../../src +../doc/tools/spec-strip-docs ../doc/spec/*.xml +if [ $? -ne 0 ]; then + exit 1 +fi + +for name in session seat manager; do + mv ck-${name}-no-docs.xml ck-${name}.xml + if [ $? -ne 0 ]; then + exit 1 + fi +done + +exit 0 -- cgit