diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2022-09-06 21:41:26 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2022-09-06 21:41:26 +0300 |
commit | 7c7115427dd5f6320a4305df3dc88a8567829720 (patch) | |
tree | a6c0450bd194476d6e893edea0240aaec5bc9424 /build.rs | |
parent | 5fa4b6260c60409579fe964970719f9ab60482cc (diff) | |
download | meli-7c7115427dd5f6320a4305df3dc88a8567829720.zip |
docs/meli.7: complete guide document
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 73 |
1 files changed, 21 insertions, 52 deletions
@@ -45,62 +45,31 @@ fn main() { use std::io::prelude::*; use std::path::Path; use std::process::Command; + let out_dir = env::var("OUT_DIR").unwrap(); let mut out_dir_path = Path::new(&out_dir).to_path_buf(); - out_dir_path.push("meli.txt.gz"); - - let output = Command::new("mandoc") - .args(MANDOC_OPTS) - .arg("docs/meli.1") - .output() - .or_else(|_| Command::new("man").arg("-l").arg("docs/meli.1").output()) - .unwrap(); - let file = File::create(&out_dir_path).unwrap(); - let mut gz = GzBuilder::new() - .comment(output.stdout.len().to_string().into_bytes()) - .write(file, Compression::default()); - gz.write_all(&output.stdout).unwrap(); - gz.finish().unwrap(); - out_dir_path.pop(); + let mut cl = |filepath: &str, output: &str| { + out_dir_path.push(output); + let output = Command::new("mandoc") + .args(MANDOC_OPTS) + .arg(filepath) + .output() + .or_else(|_| Command::new("man").arg("-l").arg(filepath).output()) + .unwrap(); - out_dir_path.push("meli.conf.txt.gz"); - let output = Command::new("mandoc") - .args(MANDOC_OPTS) - .arg("docs/meli.conf.5") - .output() - .or_else(|_| { - Command::new("man") - .arg("-l") - .arg("docs/meli.conf.5") - .output() - }) - .unwrap(); - let file = File::create(&out_dir_path).unwrap(); - let mut gz = GzBuilder::new() - .comment(output.stdout.len().to_string().into_bytes()) - .write(file, Compression::default()); - gz.write_all(&output.stdout).unwrap(); - gz.finish().unwrap(); - out_dir_path.pop(); + let file = File::create(&out_dir_path).unwrap(); + let mut gz = GzBuilder::new() + .comment(output.stdout.len().to_string().into_bytes()) + .write(file, Compression::default()); + gz.write_all(&output.stdout).unwrap(); + gz.finish().unwrap(); + out_dir_path.pop(); + }; - out_dir_path.push("meli-themes.txt.gz"); - let output = Command::new("mandoc") - .args(MANDOC_OPTS) - .arg("docs/meli-themes.5") - .output() - .or_else(|_| { - Command::new("man") - .arg("-l") - .arg("docs/meli-themes.5") - .output() - }) - .unwrap(); - let file = File::create(&out_dir_path).unwrap(); - let mut gz = GzBuilder::new() - .comment(output.stdout.len().to_string().into_bytes()) - .write(file, Compression::default()); - gz.write_all(&output.stdout).unwrap(); - gz.finish().unwrap(); + cl("docs/meli.1", "meli.txt.gz"); + cl("docs/meli.conf.5", "meli.conf.txt.gz"); + cl("docs/meli-themes.5", "meli-themes.txt.gz"); + cl("docs/meli.7", "meli.7.txt.gz"); } } |