silkroad 0.0.1

A full-featured registry server for Cargo.
#[macro_use]
extern crate slog;

#[macro_use]
extern crate log;

use structopt::StructOpt;

mod command;
use command::Command;

mod error;
use crate::error::{SkrdError, SkrdResult};

mod logger;
use crate::logger::LoggerGuard;
use slog::Level;

mod registry;
mod util;

fn main() -> SkrdResult<()> {
    let _logger_guard = LoggerGuard::init("SilkRoad", Level::Info);

    let command = Command::from_args();

    match command {
        Command::New(_new) => Err(SkrdError::Custom(
            "Subcommand new is unimplemented!".to_owned(),
        )),
        Command::Serve(serve) => serve.serve(),
        Command::Pack(_pack) => Err(SkrdError::Custom(
            "Subcommand pack is unimplemented!".to_owned(),
        )),
        Command::Execute(_exec) => Err(SkrdError::Custom(
            "Subcommand exec is unimplemented".to_owned(),
        )),
    }
}