vhost-device/xtask/README.md
Manos Pitsidianakis 5e83c07f87 xtask: generate manpage for vhost-device-scsi
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
2025-11-13 14:59:23 +01:00

26 lines
1.3 KiB
Markdown

# `xtask` - Run tasks with `cargo`
This binary crate provides support for running useful tasks with `cargo xtask <..>`.
## `mangen`
The `mangen` task which is enabled by the `mangen` cargo feature, builds ROFF manual pages for binary crates in this repository. It uses the [`clap_mangen`](https://crates.io/crates/clap_mangen) crate to generate ROFF from the crate's argument types which implement the `clap::CommandFactory` trait, through the `clap::Parser` derive macro.
Furthmore, if the `README.md` of a crate contains an `Examples` heading, it includes it in the manual page.
```session
$ cargo xtask mangen
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s
Running `target/debug/xtask mangen`
Generated the following manual pages:
/path/to/rust-vmm/vhost-device/target/dist/man/vhost-device-sound.1
/path/to/rust-vmm/vhost-device/target/dist/man/vhost-device-scmi.1
```
The following crates have manual pages built by default:
- [`vhost-device-sound`](../vhost-device-sound), enabled by the default feature `vhost-device-sound`.
- It can further be fine-tuned with the features `vhost-device-sound-pipewire` and `vhost-device-sound-alsa`.
- [`vhost-device-scmi`](../vhost-device-scmi), enabled by the default feature `vhost-device-scmi`.
- [`vhost-device-scsi`](../vhost-device-scsi), enabled by the default feature `vhost-device-scsi`.