blob: fcbf38c1b3e0fdfb94e8572ae3274c7911fafce6 [file]
//! The `cargo->bazel` binary's entrypoint
use cargo_bazel::cli;
fn main() -> cli::Result<()> {
// Parse arguments
let opt = cli::parse_args();
let level = match std::env::var("CARGO_BAZEL_DEBUG") {
Ok(var) => {
if var == "TRACE" {
crate::cli::LogLevel::TRACE
} else {
crate::cli::LogLevel::DEBUG
}
}
Err(_) => crate::cli::LogLevel::INFO,
};
match opt {
cli::Options::Generate(opt) => {
cli::init_logging("Generate", level);
cli::generate(opt)
}
cli::Options::Splice(opt) => {
cli::init_logging("Splice", level);
cli::splice(opt)
}
cli::Options::Query(opt) => {
cli::init_logging("Query", level);
cli::query(opt)
}
cli::Options::Vendor(opt) => {
cli::init_logging("Vendor", level);
cli::vendor(opt)
}
cli::Options::Render(opt) => {
cli::init_logging("Render", level);
cli::render(opt)
}
}
}