use failure::Error;
use std::env;
use std::fs::File;
use std::io::prelude::*;
use toml;
#[derive(Deserialize)]
pub struct Root {
pub target: String,
pub test_target: String,
pub test_cross_compile: Option<String>,
pub openocd: Option<Openocd>,
pub itm: Option<Itm>,
}
#[derive(Deserialize)]
pub struct Openocd {
pub config: Vec<String>,
}
#[derive(Deserialize)]
pub struct Itm {
pub frequency: u32,
}
pub fn read() -> Result<Root, Error> {
let path = env::current_dir()?.join("Drone.toml");
let mut buffer = String::new();
let mut file = File::open(&path)?;
file.read_to_string(&mut buffer)?;
Ok(toml::from_str(&buffer)?)
}