Fix issues with extra-watch-dirs
Fix paths specified in extra-watch-dirs being relative to the current working directory rather than the book root If there is an error canonicalising paths in extra-watch-dirs, log the error and exit rather than panicking
This commit is contained in:
parent
429ca06289
commit
e00b8835cc
|
@ -130,11 +130,16 @@ where
|
||||||
let _ = watcher.watch(&book.root.join("book.toml"), NonRecursive);
|
let _ = watcher.watch(&book.root.join("book.toml"), NonRecursive);
|
||||||
|
|
||||||
for dir in &book.config.build.extra_watch_dirs {
|
for dir in &book.config.build.extra_watch_dirs {
|
||||||
let path = dir.canonicalize().unwrap();
|
let path = book.root.join(dir);
|
||||||
if let Err(e) = watcher.watch(&path, Recursive) {
|
let canonical_path = path.canonicalize().unwrap_or_else(|e| {
|
||||||
|
error!("Error while watching extra directory {path:?}:\n {e}");
|
||||||
|
std::process::exit(1);
|
||||||
|
});
|
||||||
|
|
||||||
|
if let Err(e) = watcher.watch(&canonical_path, Recursive) {
|
||||||
error!(
|
error!(
|
||||||
"Error while watching extra directory {:?}:\n {:?}",
|
"Error while watching extra directory {:?}:\n {:?}",
|
||||||
path, e
|
canonical_path, e
|
||||||
);
|
);
|
||||||
std::process::exit(1);
|
std::process::exit(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue