mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
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>
This commit is contained in:
parent
2c8b341af8
commit
1832c0a02b
19
docs/go/libvirt.rst
Normal file
19
docs/go/libvirt.rst
Normal file
@ -0,0 +1,19 @@
|
||||
=========================================
|
||||
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>`__.
|
16
docs/go/libvirtxml.rst
Normal file
16
docs/go/libvirtxml.rst
Normal file
@ -0,0 +1,16 @@
|
||||
============================================
|
||||
Libvirt Go XML parsing API (with Go modules)
|
||||
============================================
|
||||
|
||||
The `Go <https://golang.org/>`__ package ``libvirt.org/go/libvirtxml`` provides
|
||||
annotated Go struct definitions for parsing (and formatting) XML documents used
|
||||
with libvirt APIs.
|
||||
|
||||
This package replaces the obsolete `libvirt.org/libvirt-go-xml
|
||||
<../libvirt-go-xml.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 original package.
|
||||
|
||||
For details of Go specific behaviour consult the
|
||||
`Go package documentation <https://pkg.go.dev/libvirt.org/go/libvirtxml>`__.
|
53
docs/go/meson.build
Normal file
53
docs/go/meson.build
Normal file
@ -0,0 +1,53 @@
|
||||
docs_go_files = [
|
||||
'libvirt',
|
||||
'libvirtxml',
|
||||
]
|
||||
|
||||
html_xslt_gen_xslt = subsite_xsl
|
||||
html_xslt_gen_install_dir = docs_html_dir / 'go'
|
||||
html_xslt_gen = []
|
||||
|
||||
foreach name : docs_go_files
|
||||
rst_file = '@0@.rst'.format(name)
|
||||
|
||||
html_xslt_gen += {
|
||||
'name': name,
|
||||
'file': docs_rst2html_gen.process(rst_file),
|
||||
'source': 'docs' / 'go' / rst_file,
|
||||
}
|
||||
endforeach
|
||||
|
||||
# keep the XSLT processing code block in sync with docs/meson.build
|
||||
|
||||
# --- begin of XSLT processing ---
|
||||
|
||||
foreach data : html_xslt_gen
|
||||
html_filename = data['name'] + '.html'
|
||||
|
||||
html_file = custom_target(
|
||||
html_filename,
|
||||
input: data.get('file', data['name'] + '.html.in'),
|
||||
output: html_filename,
|
||||
command: [
|
||||
xsltproc_prog,
|
||||
'--stringparam', 'pagesrc', data.get('source', ''),
|
||||
'--stringparam', 'builddir', meson.build_root(),
|
||||
'--stringparam', 'timestamp', docs_timestamp,
|
||||
'--nonet',
|
||||
html_xslt_gen_xslt,
|
||||
'@INPUT@',
|
||||
],
|
||||
depends: data.get('depends', []),
|
||||
depend_files: [ page_xsl ],
|
||||
capture: true,
|
||||
install: true,
|
||||
install_dir: html_xslt_gen_install_dir,
|
||||
)
|
||||
|
||||
install_web_deps += html_file
|
||||
install_web_files += html_file.full_path() + ':' + html_xslt_gen_install_dir
|
||||
endforeach
|
||||
|
||||
html_xslt_gen = []
|
||||
|
||||
# --- end of XSLT processing ---
|
@ -1,10 +1,22 @@
|
||||
==========================
|
||||
Libvirt Go XML parsing API
|
||||
==========================
|
||||
===================================================
|
||||
Obsolete libvirt Go XML parsing API (no Go modules)
|
||||
===================================================
|
||||
|
||||
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.
|
||||
The obsolete `Go <https://golang.org/>`__ package ``libvirt.org/libvirt-go-xml``
|
||||
provided annotated Go struct definitions for parsing (and formatting) XML
|
||||
documents used with libvirt APIs.
|
||||
|
||||
This package is replaced by the new `libvirt.org/go/libvirtxml
|
||||
<go/libvirtxml.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 XML scheme elements/attributes 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.
|
||||
|
||||
For details of Go specific behaviour consult the
|
||||
`Go package documentation <https://pkg.go.dev/libvirt.org/libvirt-go-xml>`__.
|
||||
|
@ -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
|
||||
|
@ -297,6 +297,7 @@ html_xslt_gen = []
|
||||
# --- end of XSLT processing ---
|
||||
|
||||
subdir('fonts')
|
||||
subdir('go')
|
||||
subdir('html')
|
||||
subdir('internals')
|
||||
subdir('js')
|
||||
|
Loading…
Reference in New Issue
Block a user