File: build.rs

package info (click to toggle)
oxigraph 0.5.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,848 kB
  • sloc: python: 1,949; cpp: 158; sh: 145; makefile: 42
file content (28 lines) | stat: -rw-r--r-- 832 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
include!("src/cli.rs");

use clap::{CommandFactory, ValueEnum};
use clap_complete::Shell;
use clap_mangen::Man;
use std::env::var_os;
use std::fs::create_dir_all;
use std::io::Result;

fn main() -> Result<()> {
    let out_dir = PathBuf::from(var_os("OUT_DIR").unwrap());
    let mut app = Args::command();

    let complete_dir = out_dir.join("complete");
    create_dir_all(&complete_dir)?;
    for shell in Shell::value_variants() {
        clap_complete::generate_to(*shell, &mut app, "oxigraph", &complete_dir)?;
    }

    let man_dir = out_dir.join("man");
    create_dir_all(&man_dir)?;
    Man::new(app.clone().disable_help_subcommand(true)).generate_to(&man_dir)?;
    for subcommand in app.get_subcommands() {
        Man::new(subcommand.clone().disable_help_subcommand(true)).generate_to(&man_dir)?;
    }

    Ok(())
}