From 24f00f5a338259bbf0a80ca3f0a7ed009f374686 Mon Sep 17 00:00:00 2001 From: konsti Date: Sun, 19 Nov 2023 14:49:13 +0100 Subject: [PATCH] Create cache dir before canonicalize (#454) `fs::canonicalize` fails when the directory does not exist, which i missed in #453 --- crates/puffin-cache/src/cli.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/puffin-cache/src/cli.rs b/crates/puffin-cache/src/cli.rs index 94389bfde..b9f045879 100644 --- a/crates/puffin-cache/src/cli.rs +++ b/crates/puffin-cache/src/cli.rs @@ -50,6 +50,7 @@ impl TryFrom for CacheDir { temp_dir: Some(temp_dir), }) } else if let Some(cache_dir) = value.cache_dir { + fs::create_dir_all(&cache_dir)?; Ok(Self { cache_dir: fs::canonicalize(cache_dir)?, temp_dir: None, @@ -60,8 +61,10 @@ impl TryFrom for CacheDir { temp_dir: None, }) } else { + let cache_dir = ".puffin_cache"; + fs::create_dir_all(cache_dir)?; Ok(Self { - cache_dir: fs::canonicalize(".puffin_cache")?, + cache_dir: fs::canonicalize(cache_dir)?, temp_dir: None, }) }