hax-cli-options 0.1.0-pre.1

hax cli options
Documentation
macro_rules! set_empty_env_var_with_git {
    ($var:literal, $args: expr) => {
        if let None = option_env!($var) {
            println!(
                "cargo:rustc-env={}={}",
                $var,
                std::process::Command::new("git")
                    .args($args)
                    .output()
                    .map(|output| String::from_utf8(output.stdout).unwrap())
                    .unwrap_or("unknown".into())
            );
        }
        println!("cargo:rurun-if-env-changed={}", $var);
    };
}

fn main() {
    set_empty_env_var_with_git!(
        "HAX_GIT_DESCRIBE",
        ["describe", "--tags", "--always", "--abbrev=0"]
    );
    set_empty_env_var_with_git!("HAX_GIT_COMMIT_HASH", ["rev-parse", "HEAD"]);
}