libvirt/docs/libvirt-go.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

1.2 KiB

Obsolete libvirt Go Language API (no Go modules)

The obsolete Go package libvirt.org/libvirt-go provided CGo binding from the OS native Libvirt API.

This package is replaced by the new libvirt.org/go/libvirt package in order to switch to using semver and Go modules. 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 for most behaviour.

For details of Go specific behaviour consult the Go package documentation.