Hi, On Thu, Sep 28, 2023 at 03:51:50PM +0100, Daniel P. Berrangé wrote: > On Wed, Sep 27, 2023 at 01:25:37PM +0200, Victor Toso wrote: > > This patch handles QAPI alternate types and generates data structures > > in Go that handles it. > > This file (and most others) needs some imports added. > I found the following to be required in order to > actually compile this:
This was by design, I mean, my preference. I decided that the generator should output correct but not necessarly formatted/buildable Go code. The consumer should still use gofmt/goimports. Do you think we should do this in QEMU? What about extra dependencies in QEMU with go binaries? This is how it is done in victortoso/qapi-go module: # to generate toso@tapioca ~> QEMU_REPO=/home/toso/src/qemu go generate ./... # the generation toso@tapioca ~> cat src/qapi-go/pkg/qapi/doc.go //go:generate ../../scripts/generate.sh //go:generate gofmt -w . //go:generate goimports -w . package qapi # script URL="https://gitlab.com/victortoso/qemu.git" BRANCH="qapi-golang" if [[ -z "${QEMU_REPO}" ]]; then git clone --depth 1 --branch $BRANCH $URL QEMU_REPO="$PWD/qemu" fi python3 $QEMU_REPO/scripts/qapi-gen.py -o tmp $QEMU_REPO/qapi/qapi-schema.json mv tmp/go/* . rm -rf tmp qemu Cheers, Victor > alternates.go:import ( > alternates.go- "encoding/json" > alternates.go- "errors" > alternates.go- "fmt" > alternates.go-) > > > commands.go:import ( > commands.go- "encoding/json" > commands.go- "errors" > commands.go- "fmt" > commands.go-) > > > events.go:import ( > events.go- "encoding/json" > events.go- "errors" > events.go- "fmt" > events.go-) > > > helpers.go:import ( > helpers.go- "encoding/json" > helpers.go- "fmt" > helpers.go- "strings" > helpers.go-) > > > structs.go:import ( > structs.go- "encoding/json" > structs.go-) > > > unions.go:import ( > unions.go- "encoding/json" > unions.go- "errors" > unions.go- "fmt" > unions.go-) > > > > > With regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| >
signature.asc
Description: PGP signature