hunter/build.rs

42 lines
1.3 KiB
Rust

extern crate termion;
extern crate rustc_version;
use rustc_version::{version_meta, Channel};
use std::process::Command;
fn main() -> Result<(),()> {
// Bail out if compiler isn't a nightly
if let Ok(false) = version_meta().map(|m| m.channel == Channel::Nightly) {
eprint!("{}", termion::color::Fg(termion::color::Red));
eprint!("{}", termion::style::Bold);
eprint!("{}", termion::style::Underline);
eprintln!("NIHGTLY COMPILER required");
eprintln!("Please install a nighlty compiler to proceed: https://rustup.rs/");
eprint!("{}", termion::style::Reset);
eprintln!("rustup toolchain install nightly");
eprintln!("source ~/.cargo/env");
return Err(());
}
// rename so we can just extract this into config dir later
Command::new("cp")
.args("-a extra hunter".split(" "))
.status()
.expect("Can't create copy of extra directory");
// create archive that will be included in hunter binary
Command::new("tar")
.args("cfz config.tar.gz hunter".split(" "))
.status()
.expect("Failed to create archive of defualt config!");
// delete directory we just compressed
std::fs::remove_dir_all("hunter")
.expect("Couldn't delete temporary config directory \"hunter\"");
return Ok(());
}