[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 0/9] qapi-go: add generator for Golang interface
From: |
Victor Toso |
Subject: |
Re: [PATCH v1 0/9] qapi-go: add generator for Golang interface |
Date: |
Wed, 27 Sep 2023 13:38:29 +0200 |
On Wed, Sep 27, 2023 at 01:25:35PM +0200, Victor Toso wrote:
> Hi, long time no see!
>
> This patch series intent is to introduce a generator that produces a Go
> module for Go applications to interact over QMP with QEMU.
>
> This idea was discussed before, as RFC:
> (RFC v1) https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg00226.html
> (RFC v2) https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg00226.html
Bad copy-paste, the correct one:
https://lists.gnu.org/archive/html/qemu-devel/2022-06/msg03105.html
>
> The work got stuck due to changes needed around types that can take JSON
> Null as value, but that's now fixed.
>
> I've pushed this series in my gitlab fork:
> https://gitlab.com/victortoso/qemu/-/tree/qapi-golang-v1
>
> I've also generated the qapi-go module over QEMU tags: v7.0.0, v7.1.0,
> v7.2.6, v8.0.0 and v8.1.1, see the commits history here:
> https://gitlab.com/victortoso/qapi-go/-/commits/qapi-golang-v1-by-tags
>
> I've also generated the qapi-go module over each commit of this series,
> see the commits history here (using previous refered qapi-golang-v1)
> https://gitlab.com/victortoso/qapi-go/-/commits/qapi-golang-v1-by-patch
>
>
> * Why this?
>
> My main goal is to allow Go applications that interact with QEMU to have
> a native way of doing so.
>
> Ideally, we can merge a new QAPI command, update qapi-go module to allow
> Go applications to consume the new command in no time (e.g: if
> development of said applications are using latest QEMU)
>
>
> * Expectations
>
> From previous discussions, there are things that are still missing. One
> simple example is Andrea's annotation suggestion to fix type names. My
> proposal is to have a qapi-go module in a formal non-stable version till
> some of those tasks get addressed or we declare it a non-problem.
>
> I've created a docs/devel/qapi-golang-code-gen.rst to add information
> from the discussions we might have in this series. Suggestions always
> welcome.
>
> P.S: Sorry about my broken python :)
>
> Cheers,
> Victor
>
> Victor Toso (9):
> qapi: golang: Generate qapi's enum types in Go
> qapi: golang: Generate qapi's alternate types in Go
> qapi: golang: Generate qapi's struct types in Go
> qapi: golang: structs: Address 'null' members
> qapi: golang: Generate qapi's union types in Go
> qapi: golang: Generate qapi's event types in Go
> qapi: golang: Generate qapi's command types in Go
> qapi: golang: Add CommandResult type to Go
> docs: add notes on Golang code generator
>
> docs/devel/qapi-golang-code-gen.rst | 341 +++++++++
> scripts/qapi/golang.py | 1047 +++++++++++++++++++++++++++
> scripts/qapi/main.py | 2 +
> 3 files changed, 1390 insertions(+)
> create mode 100644 docs/devel/qapi-golang-code-gen.rst
> create mode 100644 scripts/qapi/golang.py
>
> --
> 2.41.0
>
>
signature.asc
Description: PGP signature
- [PATCH v1 4/9] qapi: golang: structs: Address 'null' members, (continued)
- [PATCH v1 4/9] qapi: golang: structs: Address 'null' members, Victor Toso, 2023/09/27
- [PATCH v1 7/9] qapi: golang: Generate qapi's command types in Go, Victor Toso, 2023/09/27
- [PATCH v1 8/9] qapi: golang: Add CommandResult type to Go, Victor Toso, 2023/09/27
- [PATCH v1 9/9] docs: add notes on Golang code generator, Victor Toso, 2023/09/27
- Re: [PATCH v1 0/9] qapi-go: add generator for Golang interface,
Victor Toso <=
- Re: [PATCH v1 0/9] qapi-go: add generator for Golang interface, Daniel P . Berrangé, 2023/09/28