Improve error reporting for IO issues

This commit is contained in:
Lucien Greathouse
2019-01-29 17:29:47 -08:00
parent aa243d1b8a
commit 8757834e07
7 changed files with 74 additions and 22 deletions

View File

@@ -10,7 +10,7 @@ use failure::Fail;
use crate::{
rbx_session::construct_oneoff_tree,
project::{Project, ProjectLoadFuzzyError},
imfs::Imfs,
imfs::{Imfs, FsError},
};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -55,14 +55,18 @@ pub enum BuildError {
XmlModelEncodeError(rbx_xml::EncodeError),
#[fail(display = "Binary model file error")]
BinaryModelEncodeError(rbx_binary::EncodeError)
BinaryModelEncodeError(rbx_binary::EncodeError),
#[fail(display = "{}", _0)]
FsError(#[fail(cause)] FsError),
}
impl_from!(BuildError {
ProjectLoadFuzzyError => ProjectLoadError,
io::Error => IoError,
rbx_xml::EncodeError => XmlModelEncodeError,
rbx_binary::EncodeError => BinaryModelEncodeError
rbx_binary::EncodeError => BinaryModelEncodeError,
FsError => FsError,
});
pub fn build(options: &BuildOptions) -> Result<(), BuildError> {