ableos/repbuild/src/dev.rs

33 lines
875 B
Rust
Raw Normal View History

2024-05-31 09:11:45 -05:00
use std::process::exit;
pub struct Package {
name: String,
}
impl Package {
pub fn load_from_file(path: String) -> Self {
let contents = match std::fs::read_to_string(path.clone()) {
// If successful return the files text as `contents`.
// `c` is a local variable.
Ok(c) => c,
// Handle the `error` case.
Err(_) => {
// Write `msg` to `stderr`.
eprintln!("Could not read file `{}`", path);
// Exit the program with exit code `1`.
exit(1);
}
};
use toml::Value;
let mut data: Value = toml::from_str(&contents).unwrap();
let name = data
.get("package")
.unwrap()
.get("name")
.unwrap()
.to_string();
Self { name }
}
}