feat: add --list-formats command, support auto-generated man pages
Release / check-release (push) Successful in 16s
Release / build_gnu (push) Skipped
Release / build_musl (push) Skipped
Release / build_windows (push) Skipped
Release / package_gnu (deb) (push) Skipped
Release / package_gnu (rpm) (push) Skipped
Release / package_musl (deb) (push) Skipped
Release / package_musl (rpm) (push) Skipped
Release / publish-release (push) Skipped
CI / Test (push) Successful in 1m43s
CI / Build Linux (push) Successful in 2m21s
Release / check-release (push) Successful in 16s
Release / build_gnu (push) Skipped
Release / build_musl (push) Skipped
Release / build_windows (push) Skipped
Release / package_gnu (deb) (push) Skipped
Release / package_gnu (rpm) (push) Skipped
Release / package_musl (deb) (push) Skipped
Release / package_musl (rpm) (push) Skipped
Release / publish-release (push) Skipped
CI / Test (push) Successful in 1m43s
CI / Build Linux (push) Successful in 2m21s
This commit is contained in:
@@ -16,6 +16,10 @@ use std::env;
|
||||
use std::fs;
|
||||
use std::path::Path;
|
||||
use std::process::Command;
|
||||
use clap::CommandFactory;
|
||||
|
||||
#[path = "src/args.rs"]
|
||||
mod args;
|
||||
|
||||
fn run_command(cmd: &str, args: &[&str]) -> Option<String> {
|
||||
let output = Command::new(cmd).args(args).output().ok()?;
|
||||
@@ -104,4 +108,14 @@ fn main() {
|
||||
|
||||
let version_path = Path::new(&out_dir).join("version.txt");
|
||||
fs::write(&version_path, &version_string).unwrap();
|
||||
|
||||
// Generate man page
|
||||
let man_dir = Path::new("target").join("man");
|
||||
fs::create_dir_all(&man_dir).unwrap();
|
||||
let mut cmd = args::Args::command();
|
||||
cmd = cmd.name("convertis").version(env!("CARGO_PKG_VERSION"));
|
||||
let man = clap_mangen::Man::new(cmd);
|
||||
let mut buffer: Vec<u8> = Default::default();
|
||||
man.render(&mut buffer).unwrap();
|
||||
fs::write(man_dir.join("convertis.1"), buffer).unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user