libvirt/docs/go/libvirt.rst
Daniel P. Berrangé 1832c0a02b 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>
2021-06-07 17:04:14 +01:00

20 lines
889 B
ReStructuredText

=========================================
Libvirt Go Language API (with Go modules)
=========================================
The `Go <https://golang.org/>`__ package ``libvirt.org/go/libvirt`` provides
`CGo <https://golang.org/cmd/cgo/>`__ binding from the OS native Libvirt API.
This package replaces the obsolete `libvirt.org/libvirt-go
<../libvirt-go.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 API is fully
compatible with the legacy package.
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://pkg.go.dev/libvirt.org/go/libvirt>`__.