mirror of
https://github.com/asciinema/asciinema.git
synced 2025-12-16 19:58:03 +01:00
Add build script, generate man page at build-time
This commit is contained in:
17
Cargo.lock
generated
17
Cargo.lock
generated
@@ -88,6 +88,7 @@ dependencies = [
|
|||||||
"avt",
|
"avt",
|
||||||
"axum",
|
"axum",
|
||||||
"clap",
|
"clap",
|
||||||
|
"clap_mangen",
|
||||||
"config",
|
"config",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
@@ -335,6 +336,16 @@ version = "0.6.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
|
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap_mangen"
|
||||||
|
version = "0.2.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e1dd95b5ebb5c1c54581dd6346f3ed6a79a3eef95dd372fc2ac13d535535300e"
|
||||||
|
dependencies = [
|
||||||
|
"clap",
|
||||||
|
"roff",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clipboard-win"
|
name = "clipboard-win"
|
||||||
version = "5.1.0"
|
version = "5.1.0"
|
||||||
@@ -1642,6 +1653,12 @@ dependencies = [
|
|||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "roff"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rust-embed"
|
name = "rust-embed"
|
||||||
version = "8.2.0"
|
version = "8.2.0"
|
||||||
|
|||||||
@@ -44,5 +44,10 @@ tokio-tungstenite = { version = "0.21.0", features = ["rustls-tls-webpki-roots"]
|
|||||||
sha2 = "0.10.8"
|
sha2 = "0.10.8"
|
||||||
tokio-util = "0.7.10"
|
tokio-util = "0.7.10"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
clap = { version = "4.4.7", features = ["derive"] }
|
||||||
|
clap_mangen = "0.2.20"
|
||||||
|
url = "2.5.0"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
strip = true
|
strip = true
|
||||||
|
|||||||
20
build.rs
Normal file
20
build.rs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
use clap::CommandFactory;
|
||||||
|
use clap_mangen::Man;
|
||||||
|
use std::env;
|
||||||
|
use std::fs;
|
||||||
|
use std::io;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
mod cli {
|
||||||
|
include!("src/cli.rs");
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() -> std::io::Result<()> {
|
||||||
|
let out_dir = PathBuf::from(env::var_os("OUT_DIR").ok_or(io::ErrorKind::NotFound)?);
|
||||||
|
let cmd = cli::Cli::command();
|
||||||
|
let man = Man::new(cmd);
|
||||||
|
let mut buffer: Vec<u8> = Default::default();
|
||||||
|
man.render(&mut buffer)?;
|
||||||
|
|
||||||
|
fs::write(out_dir.join("asciinema.1"), buffer)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user