termscp 1.1.0

termscp is a feature rich terminal file transfer and explorer with support for SCP/SFTP/FTP/Kube/S3/WebDAV
use cfg_aliases::cfg_aliases;
use vergen_git2::{Build, Cargo, Emitter, Git2, Rustc, Sysinfo};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Setup cfg aliases
    cfg_aliases! {
        // Platforms
        macos: { target_os = "macos" },
        linux: { target_os = "linux" },
        posix: { target_family = "unix" },
        win: { target_family = "windows" },
        // exclusive features
        smb: { feature = "smb" },
        smb_unix: { all(unix, feature = "smb") },
        smb_windows: { all(windows, feature = "smb") }
    }

    let build = Build::all_build();
    let cargo = Cargo::all_cargo();
    let git2 = Git2::all_git();
    let rustc = Rustc::all_rustc();
    let si = Sysinfo::all_sysinfo();

    Emitter::default()
        .add_instructions(&build)?
        .add_instructions(&cargo)?
        .add_instructions(&git2)?
        .add_instructions(&rustc)?
        .add_instructions(&si)?
        .emit()?;

    Ok(())
}