]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
docs: add pages to support Go module package resolution
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 16 Dec 2019 10:06:50 +0000 (10:06 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Mon, 27 Jan 2020 11:51:46 +0000 (11:51 +0000)
Currently the libvirt Go modules are accessed by applications using
their github repository URLs. This is undesirable as we don't want
applications to have a direct dependancy on a specific source repo
location. We want to enable applications to use the Go packages via
the libvirt.org namespace.

When you do "go get libvirt.org/libvirt-go", the Go client will do an
HTTPS request to that URL, and parse the HTML content to look for a
<meta> tag which tells it where to the find the GIT repository.

   https://golang.org/cmd/go/#hdr-Remote_import_paths

This adds two pages to support this Go module resolution. They are
not linked from anywhere as we don't expect users to actually look
at them. If someone does happen upon them, there's some boilerplate
text to send them off to godoc.org for API documentation.

Since the pages we're adding have a .html extension, we will also
use a small apache config tweak on the server

    RewriteEngine on
    RewriteRule ^/libvirt-go$ /libvirt-go.html [L]
    RewriteRule ^/libvirt-go-xml$ /libvirt-go-xml.html [L]

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
docs/libvirt-go-xml.rst [new file with mode: 0644]
docs/libvirt-go.rst [new file with mode: 0644]
docs/page.xsl

diff --git a/docs/libvirt-go-xml.rst b/docs/libvirt-go-xml.rst
new file mode 100644 (file)
index 0000000..ee3b878
--- /dev/null
@@ -0,0 +1,10 @@
+==========================
+Libvirt Go XML parsing API
+==========================
+
+The `Go <https://golang.org/>`__ package ``libvirt.org/libvirt-go-xml`` provides
+annotated Go struct definitions for parsing (and formatting) XML documents used
+with libvirt APIs.
+
+For details of Go specific behaviour consult the
+`Go package documentation <https://godoc.org/libvirt.org/libvirt-go-xml>`__
diff --git a/docs/libvirt-go.rst b/docs/libvirt-go.rst
new file mode 100644 (file)
index 0000000..6ec5c0c
--- /dev/null
@@ -0,0 +1,13 @@
+=======================
+Libvirt Go Language API
+=======================
+
+The `Go <https://golang.org/>`__ package ``libvirt.org/libvirt-go`` provides
+`CGo <https://golang.org/cmd/cgo/>`__ binding from the OS native Libvirt API.
+
+In general the Go representation is a direct 1-1 mapping from native API
+concepts to Go, so the native API documentation should serve as a reference
+for most behaviour.
+
+For details of Go specific behaviour consult the
+`Go package documentation <https://godoc.org/libvirt.org/libvirt-go>`__
index f8f7ff8cf95ce56b8cd14e04dbbf57124af56d18..ddae5ab50809c4755389eb88368c6214e792146e 100644 (file)
         <meta name="theme-color" content="#ffffff"/>
         <title>libvirt: <xsl:value-of select="html:html/html:body//html:h1"/></title>
         <meta name="description" content="libvirt, virtualization, virtualization API"/>
+        <xsl:if test="$pagename = 'libvirt-go.html'">
+          <meta name="go-import" content="libvirt.org/libvirt-go git https://libvirt.org/git/libvirt-go.git"/>
+        </xsl:if>
+        <xsl:if test="$pagename = 'libvirt-go-xml.html'">
+          <meta name="go-import" content="libvirt.org/libvirt-go-xml git https://libvirt.org/git/libvirt-go-xml.git"/>
+        </xsl:if>
         <xsl:apply-templates select="/html:html/html:head/html:script" mode="content"/>
 
         <script type="text/javascript" src="{$href_base}js/main.js">