xtask: add README.md

Add documentation in a README.md file.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
This commit is contained in:
Manos Pitsidianakis 2024-12-07 11:38:26 +02:00 committed by Viresh Kumar
parent 4ef66aae1e
commit 9f4df007db

22
xtask/README.md Normal file
View File

@ -0,0 +1,22 @@
# `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.
```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`.