[gnome-shell] docs: Allow building API documentation
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] docs: Allow building API documentation
- Date: Thu, 20 Oct 2011 20:49:39 +0000 (UTC)
commit c1fa9a82e689bc85c5e08f45a9aefad6750f016f
Author: Florian MÃllner <fmuellner gnome org>
Date: Wed Sep 7 20:23:28 2011 +0200
docs: Allow building API documentation
As extensions.gnome.org starts to shape up, we should allow to
build the API documentation for St/Shell.
https://bugzilla.gnome.org/show_bug.cgi?id=661045
.gitignore | 13 ++++
Makefile.am | 4 +-
configure.ac | 8 +++
docs/Makefile.am | 1 +
docs/reference/Makefile.am | 1 +
docs/reference/shell/Makefile.am | 105 +++++++++++++++++++++++++++++++
docs/reference/shell/shell-docs.sgml.in | 73 +++++++++++++++++++++
docs/reference/st/Makefile.am | 105 +++++++++++++++++++++++++++++++
docs/reference/st/st-docs.sgml.in | 68 ++++++++++++++++++++
9 files changed, 377 insertions(+), 1 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fd96ab5..4ec7bad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,6 +21,19 @@ data/gnome-shell.desktop.in
data/gschemas.compiled
data/org.gnome.shell.gschema.xml
data/org.gnome.shell.gschema.valid
+docs/reference/*/*.args
+docs/reference/*/*.bak
+docs/reference/*/*.hierarchy
+docs/reference/*/*.interfaces
+docs/reference/*/*.prerequisites
+docs/reference/*/*.sgml
+docs/reference/*/*.signals
+docs/reference/*/*.stamp
+docs/reference/*/*.txt
+docs/reference/*/*.types
+docs/reference/*/html/
+docs/reference/*/xml/
+gtk-doc.make
js/misc/config.js
intltool-extract.in
intltool-merge.in
diff --git a/Makefile.am b/Makefile.am
index 426a9b0..de5e2f4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Point to our macro directory and pick up user flags from the environment
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-SUBDIRS = data js src browser-plugin tests po man
+SUBDIRS = data js src browser-plugin tests po man docs
EXTRA_DIST = \
.project \
@@ -19,3 +19,5 @@ DIST_EXCLUDE = \
distcheck-hook:
@echo "Checking disted files against files in git"
@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE)
+
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
diff --git a/configure.ac b/configure.ac
index eae46a6..18b14aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,6 +181,8 @@ AC_SUBST(GIRDIR)
TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
AC_SUBST(TYPELIBDIR)
+GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
+
# Stay command-line compatible with the gnome-common configure option. Here
# minimum/yes/maximum are the same, however.
AC_ARG_ENABLE(compile_warnings,
@@ -243,6 +245,12 @@ AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])
AC_CONFIG_FILES([
Makefile
data/Makefile
+ docs/Makefile
+ docs/reference/Makefile
+ docs/reference/shell/Makefile
+ docs/reference/shell/shell-docs.sgml
+ docs/reference/st/Makefile
+ docs/reference/st/st-docs.sgml
js/Makefile
js/misc/config.js
src/Makefile
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..f3ddc22
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = reference
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
new file mode 100644
index 0000000..2721dc0
--- /dev/null
+++ b/docs/reference/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = shell st
diff --git a/docs/reference/shell/Makefile.am b/docs/reference/shell/Makefile.am
new file mode 100644
index 0000000..b8c68d1
--- /dev/null
+++ b/docs/reference/shell/Makefile.am
@@ -0,0 +1,105 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=shell
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# Directories containing the source code, relative to $(srcdir).
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
+DOC_SOURCE_DIR=../../../src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=--rebuild-types
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/src/*.h
+CFILE_GLOB=$(top_srcdir)/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=calendar-server gvs hotplug-sniffer st tray
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=$(GNOME_SHELL_CFLAGS)
+GTKDOC_LIBS=$(GNOME_SHELL_LIBS) $(top_builddir)/src/libgnome-shell.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = $(DOC_MODULES).types
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/docs/reference/shell/shell-docs.sgml.in b/docs/reference/shell/shell-docs.sgml.in
new file mode 100644
index 0000000..e1029e3
--- /dev/null
+++ b/docs/reference/shell/shell-docs.sgml.in
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index">
+ <bookinfo>
+ <title>Shell Reference Manual</title>
+ <releaseinfo>
+ for Shell @VERSION
+ <!--The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/shell/index.html">http://[SERVER]/shell/</ulink>.-->
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Actors</title>
+ <xi:include href="xml/shell-generic-container.xml"/>
+ <xi:include href="xml/shell-slicer.xml"/>
+ <xi:include href="xml/shell-stack.xml"/>
+ </chapter>
+ <chapter>
+ <title>Application tracking</title>
+ <xi:include href="xml/shell-app.xml"/>
+ <xi:include href="xml/shell-app-usage.xml"/>
+ <xi:include href="xml/shell-window-tracker.xml"/>
+ </chapter>
+ <chapter>
+ <title>Search</title>
+ <xi:include href="xml/shell-app-system.xml"/>
+ <xi:include href="xml/shell-contact-system.xml"/>
+ <xi:include href="xml/shell-doc-system.xml"/>
+ </chapter>
+ <chapter>
+ <title>Tray Icons</title>
+ <xi:include href="xml/shell-embedded-window.xml"/>
+ <xi:include href="xml/shell-gtk-embed.xml"/>
+ <xi:include href="xml/shell-tray-icon.xml"/>
+ <xi:include href="xml/shell-tray-manager.xml"/>
+ </chapter>
+ <chapter>
+ <title>Recorder</title>
+ <xi:include href="xml/shell-recorder.xml"/>
+ <xi:include href="xml/shell-recorder-src.xml"/>
+ </chapter>
+ <chapter>
+ <title>Integration helpers and utilities</title>
+ <xi:include href="xml/shell-global.xml"/>
+ <xi:include href="xml/shell-wm.xml"/>
+ <xi:include href="xml/shell-xfixes-cursor.xml"/>
+ <xi:include href="xml/shell-util.xml"/>
+ <xi:include href="xml/shell-mount-operation.xml"/>
+ <xi:include href="xml/shell-mobile-providers.xml"/>
+ <xi:include href="xml/shell-network-agent.xml"/>
+ <xi:include href="xml/shell-polkit-authentication-agent.xml"/>
+ <xi:include href="xml/shell-tp-client.xml"/>
+ </chapter>
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/docs/reference/st/Makefile.am b/docs/reference/st/Makefile.am
new file mode 100644
index 0000000..51473a3
--- /dev/null
+++ b/docs/reference/st/Makefile.am
@@ -0,0 +1,105 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=st
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# Directories containing the source code, relative to $(srcdir).
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
+DOC_SOURCE_DIR=../../../src/st
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=--rebuild-types --rebuild-sections
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/src/st/*.h
+CFILE_GLOB=$(top_srcdir)/src/st/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=st-private.h st-theme-node-private.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=$(top_builddir)/src/libst-1.0.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = $(DOC_MODULE).types $(DOC_MODULE)-sections.txt
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/docs/reference/st/st-docs.sgml.in b/docs/reference/st/st-docs.sgml.in
new file mode 100644
index 0000000..0055497
--- /dev/null
+++ b/docs/reference/st/st-docs.sgml.in
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index">
+ <bookinfo>
+ <title>St Reference Manual</title>
+ <releaseinfo>
+ for St @VERSION
+ <!--The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/st/index.html">http://[SERVER]/st/</ulink>.-->
+ </releaseinfo>
+ </bookinfo>
+
+ <part>
+ <title>API reference</title>
+ <chapter id="base">
+ <title>Abstract classes and Interfaces</title>
+ <xi:include href="xml/st-widget.xml"/>
+ <xi:include href="xml/st-widget-accessible.xml"/>
+ <xi:include href="xml/st-container.xml"/>
+ <xi:include href="xml/st-scrollable.xml"/>
+ </chapter>
+ <chapter id="widgets">
+ <title>Widgets</title>
+ <xi:include href="xml/st-button.xml"/>
+ <xi:include href="xml/st-drawing-area.xml"/>
+ <xi:include href="xml/st-entry.xml"/>
+ <xi:include href="xml/st-icon.xml"/>
+ <xi:include href="xml/st-label.xml"/>
+ <xi:include href="xml/st-tooltip.xml"/>
+ </chapter>
+ <chapter id="containers">
+ <title>Containers</title>
+ <xi:include href="xml/st-bin.xml"/>
+ <xi:include href="xml/st-box-layout.xml"/>
+ <xi:include href="xml/st-group.xml"/>
+ <xi:include href="xml/st-overflow-box.xml"/>
+ <xi:include href="xml/st-scroll-view.xml"/>
+ <xi:include href="xml/st-table.xml"/>
+ </chapter>
+
+ <chapter id="styling">
+ <title>Styling</title>
+ <xi:include href="xml/st-theme.xml"/>
+ <xi:include href="xml/st-theme-context.xml"/>
+ <xi:include href="xml/st-theme-node.xml"/>
+ <xi:include href="xml/st-theme-node-transition.xml"/>
+ <xi:include href="xml/st-texture-cache.xml"/>
+ </chapter>
+ </part>
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]