qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] qapi: add auto-generated return docs
@ 2025-06-12 21:41 John Snow
  2025-06-12 21:41 ` [PATCH v4 1/4] docs/qapi-domain: add return-nodesc John Snow
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: John Snow @ 2025-06-12 21:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael Tokarev, Marc-André Lureau,
	Vladimir Sementsov-Ogievskiy, Ani Sinha, Fabiano Rosas,
	Markus Armbruster, Daniel P. Berrangé, Jiri Pirko,
	Eduardo Habkost, Yanan Wang, Kevin Wolf, Lukas Straub, Eric Blake,
	Zhao Liu, Mads Ynddal, Michael Roth, Peter Maydell, Zhenwei Pi,
	Jason Wang, John Snow, Peter Xu, Stefan Berger,
	Michael S. Tsirkin, qemu-trivial, qemu-block, Gerd Hoffmann,
	Stefan Hajnoczi, Hanna Reitz, Laurent Vivier, Marcel Apfelbaum,
	Paolo Bonzini, Philippe Mathieu-Daudé, Gonglei (Arei)

This series adds the ability for the new QAPIDoc system to generate
"Returns:" documentation based on the return type declared in the Schema
even when no explicit documentation is found in the QAPI source. As a
result and as an immediate cleanup, trivial return statements are
removed and remaining Return documentation is revised to avoid
re-stating the return type, which is always generated automatically.

For non-QAPI maintainers: You're likely being CC'd because of patches 3
& 4, which touches nearly every subsystem's QAPI documentation. Let me
know if you see any obvious issues. Don't worry about patches 1 & 2
unless you're particularly bored.

v4: rebased on origin/master (2025-06-12)

Review comments:

    Markus: From what I recall, you had questions concerning the
    insertion position of the "Returns:" stub in patch 2. I picked
    something somewhat arbitrarily, and you were uneasy with the
    laissez-faire approach. I'm more than happy to change it, but
    request that you decide on the order/algorithm for insertion.

    From memory, I chose an insertion position that favors putting
    "Returns:" as the last info field; i.e. if any other info fields are
    present, we put ours immediately after the last one. If there are
    none at all, we just put it last. This may or may not cause ordering
    issues depending on your taste.

    (I am also content to change *where* the insertion occurs, but I
    think inserting it in the parser makes enough sense to leave it
    alone, unless you have concerns.)

    Patch 3 should be fine, though possibly incomplete depending on taste.

    Patch 4 is the likeliest to be subject to copyediting nits, and on
    this patch I heavily encourage you to write your own fixup patch
    which I will *happily and with glee* merge into this patch. Whatever
    phrasing you prefer here I am more than happy to take. You did in
    fact have a number of nits in response to v1/v2, but I admit I did
    not apply them - in favor of nudging you to do the copy-editing
    you'd like to see directly instead. (Sorry!)

    This patch is also possibly incomplete depending on taste.

v3: rebased on top of python-qapi-linting (v4) pull request;
    removed commits that are no longer needed.
    Markus: I forget where we left off... shall we refresh?

v2: fix multi-return-sections bug :(

John Snow (4):
  docs/qapi-domain: add return-nodesc
  docs, qapi: generate undocumented return sections
  qapi: remove trivial "Returns:" sections
  qapi: rephrase return docs to avoid type name

 docs/devel/qapi-domain.rst | 30 ++++++++++++++++++++++++++++++
 docs/sphinx/qapi_domain.py |  8 ++++++++
 docs/sphinx/qapidoc.py     | 14 ++++++++------
 qapi/audio.json            |  2 --
 qapi/block-core.json       | 14 +++-----------
 qapi/block-export.json     |  2 +-
 qapi/block.json            |  2 +-
 qapi/char.json             |  8 --------
 qapi/control.json          |  5 ++---
 qapi/cryptodev.json        |  2 --
 qapi/dump.json             |  5 ++---
 qapi/introspect.json       |  6 +++---
 qapi/job.json              |  2 +-
 qapi/machine.json          | 22 ----------------------
 qapi/migration.json        | 12 ------------
 qapi/misc-i386.json        | 12 +-----------
 qapi/misc.json             | 12 ++----------
 qapi/net.json              |  2 +-
 qapi/pci.json              |  2 +-
 qapi/qdev.json             |  3 +--
 qapi/qom.json              |  8 +++-----
 qapi/rocker.json           |  4 ----
 qapi/run-state.json        |  2 --
 qapi/stats.json            |  2 +-
 qapi/tpm.json              |  4 ----
 qapi/trace.json            |  2 +-
 qapi/ui.json               | 10 +---------
 qapi/virtio.json           |  8 +++-----
 qapi/yank.json             |  1 -
 scripts/qapi/parser.py     | 15 +++++++++++++++
 scripts/qapi/schema.py     |  3 +++
 31 files changed, 92 insertions(+), 132 deletions(-)

-- 
2.48.1




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-06-12 21:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-12 21:41 [PATCH v4 0/4] qapi: add auto-generated return docs John Snow
2025-06-12 21:41 ` [PATCH v4 1/4] docs/qapi-domain: add return-nodesc John Snow
2025-06-12 21:41 ` [PATCH v4 2/4] docs, qapi: generate undocumented return sections John Snow
2025-06-12 21:41 ` [PATCH v4 3/4] qapi: remove trivial "Returns:" sections John Snow
2025-06-12 21:42 ` [PATCH v4 4/4] qapi: rephrase return docs to avoid type name John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).