summaryrefslogtreecommitdiff
path: root/docs/libvirt-go.rst
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2021-05-25 11:42:32 +0100
committerDaniel P. Berrangé <berrange@redhat.com>2021-06-07 17:04:14 +0100
commit1832c0a02b3c9ceb518a4338cb3609fd7d1233a2 (patch)
tree36c07b318327a767e3f7406887209a912f2aacc6 /docs/libvirt-go.rst
parent2c8b341af83501730f3767c8738e909ef72f6a28 (diff)
downloadlibvirt-1832c0a02b3c9ceb518a4338cb3609fd7d1233a2.tar.gz
docs: introduce stubs for new libvirt Go packages
Currently we expose libvirt Go packages at libvirt.org/libvirt-go libvirt.org/libvirt-go-xml These packages have not supported Go modules historically and when we tried to introduce modules, we hit the problem that we're not using semver for versioning. The only way around this is to introduce new packages under a different namespace, that will have the exact same code, but be tagged with a different version numbering scheme. This change proposes: libvirt.org/go/libvirt libvirt.org/go/libvirtxml Note the hyphen is removed so that the import basename matches the Go package name. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'docs/libvirt-go.rst')
-rw-r--r--docs/libvirt-go.rst23
1 files changed, 18 insertions, 5 deletions
diff --git a/docs/libvirt-go.rst b/docs/libvirt-go.rst
index f2d3f80fb2..85ee3191b5 100644
--- a/docs/libvirt-go.rst
+++ b/docs/libvirt-go.rst
@@ -1,9 +1,22 @@
-=======================
-Libvirt Go Language API
-=======================
+================================================
+Obsolete libvirt Go Language API (no Go modules)
+================================================
-The `Go <https://golang.org/>`__ package ``libvirt.org/libvirt-go`` provides
-`CGo <https://golang.org/cmd/cgo/>`__ binding from the OS native Libvirt API.
+The obsolete `Go <https://golang.org/>`__ package ``libvirt.org/libvirt-go``
+provided `CGo <https://golang.org/cmd/cgo/>`__ binding from the OS native
+Libvirt API.
+
+This package is replaced by the new `libvirt.org/go/libvirt <go/libvirt.html>`__
+package in order to switch to using `semver <https://semver.org/>`__ and
+`Go modules <https://golang.org/ref/mod>`__. Aside from the changed
+import path and versioning scheme, the new package API is fully compatible
+with this legacy package.
+
+Software currently using this package will keep working, but no further
+development will take place. libvirt APIs/constants introduced after
+7.4.0 will never be available. Authors are strongly recommended to switch
+imports to point to the new package, to prepare for future Go toolchains
+which will mandate Go module support and semver.
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