try using anyhow

This commit is contained in:
Tim-Paik 2022-05-01 18:15:59 +08:00
parent bb15d55214
commit 1f927cc6ab
Signed by: Tim-Paik
GPG Key ID: DC36A050DB42566D
4 changed files with 9 additions and 5 deletions

1
Cargo.lock generated
View File

@ -1171,6 +1171,7 @@ checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121"
name = "neutauri_bundler"
version = "0.1.0"
dependencies = [
"anyhow",
"bincode",
"brotli",
"gumdrop",

View File

@ -4,6 +4,7 @@ name = "neutauri_bundler"
version = "0.1.0"
[dependencies]
anyhow = "1.0"
bincode = "1.3"
brotli = "3.3"
gumdrop = "0.8"

View File

@ -1,4 +1,5 @@
use crate::data;
use anyhow::Context;
use std::{
env, fs,
hash::{Hash, Hasher},
@ -18,12 +19,12 @@ fn options() -> fs::OpenOptions {
}
#[cfg(not(windows))]
fn get_runtime_data() -> io::Result<Vec<u8>> {
fn get_runtime_data() -> anyhow::Result<Vec<u8>> {
Ok(include_bytes!("../../target/release/neutauri_runtime").to_vec())
}
#[cfg(windows)]
fn get_runtime_data() -> io::Result<Vec<u8>> {
fn get_runtime_data() -> anyhow::Result<Vec<u8>> {
let mut hasher = std::collections::hash_map::DefaultHasher::new();
hasher.write(b"neutauri_runtime");
std::time::SystemTime::now().hash(&mut hasher);
@ -35,10 +36,11 @@ fn get_runtime_data() -> io::Result<Vec<u8>> {
)?;
// let mut updater = rcedit::ResourceUpdater::new();
// updater.load(&temp_path).unwrap(); // TODO: handle error
fs::read(&temp_path)
fs::read(&temp_path).with_context(|| format!("Failed to read {}", temp_path.display()))
}
pub fn bundle(config_path: String) -> io::Result<()> {
pub fn bundle(config_path: String) -> anyhow::Result<()> {
let config_path = std::path::Path::new(&config_path).canonicalize()?;
let config: data::Config = toml::from_str(fs::read_to_string(&config_path)?.as_str())
.map_err(|e| io::Error::new(io::ErrorKind::Other, e))?;

View File

@ -59,7 +59,7 @@ fn print_help_and_exit(args: Args) {
std::process::exit(0);
}
fn main() -> wry::Result<()> {
fn main() -> anyhow::Result<()> {
let args = std::env::args().collect::<Vec<_>>();
let args = Args::parse_args(&args[1..], gumdrop::ParsingStyle::default()).unwrap_or_else(|e| {
eprintln!("{}: {}", args[0], e);